我正在尝试使用Cloudinary REST API,但提供的客户端库对我的目的没用。
所以我使用的设置是:
api_key = '111111111111111';
api_secret = 'fdgdsfgsdfgsdfgsdfgsdfg';
my_authorization = 'Basic ' + window.btoa(this.api_key + ':' + this.api_secret);
url_base = 'http://api.cloudinary.com/api/v1_1';
cloud_name = '/http-mysite-com';
connect_method = 'GET';
tag_list = '/tags/image';
我用类似的东西打电话:
request(tag_list) {
connection.request({
method: connect_method,
url: url_base + cloud_name + service_url,
headers: {
'Authorization': authorization,
'Content-Type': 'application/json'
}
}).then(function(response) {
// triumph
}, function(er) {
// all is lost
});
};
答案如下:
XMLHttpRequest无法加载 http://api.cloudinary.com/api/v1_1/http-mysite-com/tags/image。没有 请求中存在“Access-Control-Allow-Origin”标头 资源。因此不允许来源
'http://myhost:8000'
访问。响应的HTTP状态代码为404.
我做错了什么?
由于
PS我也尝试使用'https'而不是'http'作为文档recommends。在那种情况下,我回来了:
XMLHttpRequest无法加载 https://api.cloudinary.com/v1_1/http-mysite-com/tags/image。该 请求被重定向到 'http://api.cloudinary.com/api/v1_1/http-mysite-com/tags/image', 这对于需要预检的跨源请求是不允许的。
答案 0 :(得分:1)
管理员API调用使用您的api_secret
,不应在客户端代码中显示。这就是为什么Cloudinary不支持Admin API的CORS标头的原因。
因此,Admin API调用应仅在服务器端执行。