Instagram API:获取访问令牌时平台应用无效

时间:2020-06-12 01:37:58

标签: node.js instagram-api

我正尝试使用Instagram基本显示API登录。

我正在尝试获取access_token,并且正在使用axios:

const { code } = queryParams;
      const url = `https://instagram.com/oauth/access_token`;
      const result = await axios.request({
        url,
        method: 'POST',
        data: {
          'client_id': INSTAGRAM_CLIENT_ID,
          'client_secret': INSTAGRAM_CLIENT_SECRET,
          'grant_type': 'authorization_code',
          'redirect_uri': 'https://localhost:3000/auth/instagram/token',
          code,
        },
      });

我遇到400错误,并显示消息invalid platform app。发送的所有值都是正确的。

我的redirect_uri虽然不存在,但是已添加到授权的URL列表中。它不存在,因为我的本地服务器中没有https。

2 个答案:

答案 0 :(得分:0)

我有同样的问题。 The official example given by Instagram使用curl使用-F标签,这意味着他们将数据发布为application/x-www-form-urlencoded内容类型。

我尝试过的所有其他帖子格式都将被忽略。更改代码以将其发布为表单,它应该可以工作。

答案 1 :(得分:0)

this post

有一个很好的答案

const querystring = require('querystring');

///使用参数const data = { client_id:“ xxxxxxx”, client_secret:“ xxxxxxxxxxx”, grant_type:“授权代码”, redirect_uri:'https://example.com/auth', 代码:“ xxxx”}

//拨打电话 axios.post(“ https://api.instagram.com/oauth/access_token”, querystring.stringify(data)).then(function(response){ console.log(“ OK”,response.data); }).catch(函数(错误){ console.log(错误); });