我正在尝试向Instagram地理位置订阅API端点发出POST请求。
我遇到了与其他人相同的错误:
OPTIONS https://api.instagram.com/v1/subscriptions/
XMLHttpRequest cannot load https://api.instagram.com/v1/subscriptions/.
No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:1337' is therefore not allowed access. The response had HTTP status code 405.
我在前端使用Node / Express和Angular。
这是我在Angular中使用$ http服务的请求:
$http.post('https://api.instagram.com/v1/subscriptions/',
{
client_id: 'XXX',
client_secret: 'XXX',
object: 'geography',
aspect: 'media',
lat: 35.657872,
lng: 139.70232,
radius: 1000,
callback_url: 'http://localhost:1337/auth/instagram/callback'
})
.success(function (data, status) {
console.log("success", data);
})
.error(function (data, status) {
console.log("error", data);
});
在其他SO帖子的帮助下,我设置了标题:http://repl.it/BDYf
我的应用程序的整体结构取自这个MEAN堆栈生成器,并且我链接的repl.it文件中的必需文件来自于此,如果对这些内容有任何疑惑 - https://github.com/FullstackAcademy/fsg/tree/master/generated/server
我非常感谢一些帮助 - 我在使用$ http.jsonp之前遇到过CORS问题,但是你知道你不能使用jsonp来发送POST请求,这就是API要求的
谢谢!