localhostでnode/express jsアプリケーションを実行しています。私は、InstagramののAPIに「GET」リクエストを行うと、このエラーを取得維持しています:クライアントからサーバーへのGET要求でエラーが発生しました。 'アクセス制御が許可されません - 起点'
XMLHttpRequest cannot load https://api.instagram.com/oauth/authorize/?client_id=******&redirect_uri=http://localhost:4000/feed&response_type=code.
No 'Access-Control-Allow-Origin' header is present on the requested resource.
Origin 'http://localhost:4000' is therefore not allowed access.
私はこのような私のサーバーで要求を行います。
私に「/」を訪問からデータを取得app.use(function(req, res, next) {
res.header("Access-Control-Allow-Headers: x-requested-with");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
next();
});
app.get('/',function(req,res){
res.redirect(redirected to feed route);
})
app.get('/feed',function(req,response) {
var code = req.query.code;
var url = "https://api.instagram.com/oauth/access_token";
var options = {
url: url,
method: "POST",
form: {
client_id : clientId,
client_secret : client_secret,
grant_type: 'authorization_code',
redirect_uri: redirect_uri,
code: code
},
json: true
}
request(options, function(err,res,body){
var instagram_response = body;
response.json({access_info:instagram_response});
})
})
サーバーのルートは正常に動作します。以下のようにjQueryを使用してクライアント側(Gallery.htmlがロードされるとき)のサーバー '/'ルートを呼び出すと、エラーが表示されます。以下は、gallery.htmlがクライアント側にロードされたときに実行される関数です。
$(function(){
$.get("/", function(instagram_reponse, access_token) {
access_token = instagram_reponse.access_token;
})
})
ノードサーバーがローカルホスト上で実行されているため、このエラーが発生しますか?私は間違って何をしていますか?
必要なCORSヘッダーがすべてありません。このためのパッケージがあります。 Googleのエラー...これはここで何度も何度も尋ねられ、それを説明するための多くのリソースがあります。 http://stackoverflow.com/questions/20035101/no-access-control-allow-origin-header-is-present-on-the-requested-resource – charlietfl