javascript - Instagram API access_token 请求和 Access-Control-Allow-Origin

标签 javascript ajax instagram access-token same-origin-policy

上下文

我正在尝试使用他们的 server-side/explicit flow 从 Instagram API 获取访问 token .

当用户成功验证并授权我的应用程序时,Instagram 会使用 code 参数将用户重定向到我的 redirect_uri。 获得此代码后,我将尝试调用 Instagram API 以获取 access_token

问题

我成功获得了此代码,但为了进行此交换,我必须将代码连同一些应用程序标识参数一起发布到它们的access_token 端点:

$.ajax({
    type: 'POST',
    url: 'https://api.instagram.com/oauth/access_token',
    // Disable credentials as they were enabled by default
    xhrFields: {
        withCredentials: false
    },
    crossDomain: true,
    data: {
        client_id: client_id,
        client_secret: client_secret,
        grant_type: 'authorization_code',
        redirect_uri: callback_http,
        code: token
    },
    }).always(function(res) {
    console.log('Res from Instagram API', res);
    });

问题是我遇到了 Access-Control-Allow-Origin 问题:

XMLHttpRequest cannot load https://api.instagram.com/oauth/access_token.
No 'Access-Control-Allow-Origin' header is present on the requested resource.
Origin '[here is my callback_http]' is therefore not allowed access.

我试过使用 dataType: 'jsonp' 作为 Ajax 调用的参数但没有成功(401 代码)。

有什么想法吗?非常感谢您的帮助!

最佳答案

当使用服务器端显式流时,您必须使用服务器端代码进行 oauth,由于跨域请求,它会被浏览器阻止。如果你只想使用 javascript,那么使用客户端隐式流

关于javascript - Instagram API access_token 请求和 Access-Control-Allow-Origin,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20382687/

相关文章:

javascript - Object.defineProperty 在 IE8 中不起作用

javascript - 在窗口调整大小时动态调整 Canvas 大小

javascript - 如何让图片加载到同一页面而不是新页面上

javascript - 加载数据时动态向下滚动 DIV 层

javascript - 调用API REST并将zip文件下载到计算机

javascript - getScript 本地加载而不是全局加载?

android - 如何从 Instagram 获取所有故事

javascript - 是否可以在 javascript 中重新启动我的插件?

ios - 如何在 Instagram 应用程序浏览器上访问相机?

html - iframe 中的 Instagram 视频 - 关闭自动播放