我有一个上传图片到Cloudinary的程序。当我在我的程序(localhost)+ Heroku上运行它时,它工作得很好(在过去)。但现在不管用了。
错误是:
- 未知API密钥“12345678910”*
对我来说最令人困惑的部分是,当错误消息打印出“Unknown API Key:12345678910”未知密钥与我的Cloudinary API密钥相同:12345678910.
请帮帮我。谢谢你提前
我的.env文件
CLOUDINARY_NAME = 'dupz*****'
CLOUDINARY_API_KEY = '532746917******'
CLOUDINARY_API_SECRET = 'WpTLLxyJZlMwjUITP**********'
这是我的server.js文件
const app = require("./app");
const { connectDatabase } = require("./config/database");
const cloudinary = require("cloudinary");
connectDatabase();
cloudinary.config({
cloud_name: process.env.CLOUDINARY_NAME,
api_key: process.env.CLOUDINARY_API_KEY,
api_secret: process.env.CLOUDINARY_API_SECRET,
});
这是我的Post.js文件
const Post = require("../models/Post");
const User = require("../models/User");
const cloudinary = require("cloudinary");
exports.createPost = async (req, res) => {
try {
const myCloud = await cloudinary.v2.uploader.upload(req.body.image, {
folder: "posts",
});
const newPostData = {
caption: req.body.caption,
image: {
public_id: myCloud.public_id,
url: myCloud.secure_url,
},
owner: req.user._id,
};
const post = await Post.create(newPostData);
const user = await User.findById(req.user._id);
user.posts.unshift(post._id);
await user.save();
res.status(201).json({
success: true,
message: "Post created",
});
} catch (error) {
res.status(500).json({
success: false,
message: error.message,
});
}
};
3条答案
按热度按时间egmofgnx1#
根据您在屏幕截图中从Cloudinary收到的错误消息,它显示了在您的上传请求中发送的未知API密钥-请注意,错误消息中的API密钥位于单引号内。单引号不应该是请求中发送的值的一部分。
您应该能够通过从
.env
文件中的值周围删除单引号并重试请求来解决它。xbp102n02#
看起来你的代码是正确的,如果它以前运行得很好,那么代码可能不是问题,而是Cloudinary本身。
可能的问题
1.你已经达到了你的帐户的限制,并忽略了他们的电子邮件,他们已经停用了你的帐户。Described in this article
1.错钥匙
h43kikqp3#