Instagram OAuthException:您必须提供 client_id

2023-12-07

我一直在尝试在我的网络应用程序中使用 instagram API 的服务器端身份验证。我已按照以下位置提供的步骤进行操作Intagram 的 API 页面,但我不断收到错误you must provide a client_id。代码是用node/express.js编写的。这是我的代码。
PS:请不要建议我使用 istagram-node API。

index.js

var bodyParser = require('body-parser');
var express = require('express');
var app = express();
var https = require('https');
var session = require('express-session');

app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended:true}));
app.use(express.static(__dirname+'/public'));
app.use(session({
  secret: process.env.SECRET,
  resave: true,
  saveUninitialized: false
}))

app.set('port',process.env.PORT);

app.get('/',function(req,res){
  res.render('index')
});

app.get('/home',function(req,res){
  req.session.code = req.query.code;
  var data = JSON.stringify({
      client_id: process.env.CLIENT_ID,
      client_secret: process.env.CLIENT_SECRET,
      grant_type: "authorizaton_code",
      redirect_uri: "...",
      code: req.session.code
  })
  var options = {
    headers:{
      'content-type': 'application/x-www-form-urlencoded'
    },
      hostname: 'api.instagram.com',
      path: '/oauth/access_token',
      method:'POST',
      port:443
    }
    var request = https.request(options,function(resp){
      resp.on('data',function(chunk){
        req.session.data = chunk.toString();
      })
    })
    request.write(data);
    request.end();
    setTimeout(function(){
      res.json(req.session.data)
    },5000);
})

app.listen(app.get('port'),function(){
  console.log("All eyes at "+process.env.PORT);
});

整个早上我都在挠头。事实证明您必须将其作为表单数据发布。

add

   const FormData = require('form-data');

在顶部 那么你的代码如下:

  var data = new FormData();
  data.append('client_id',config.instagramAuth.client_id)
  data.append('client_secret',config.instagramAuth.client_secret)
  data.append('redirect_uri',redirect_uri)
  data.append('grant_type','authorization_code')
  data.append('code',code)

和你的获取:

  fetch(url, {
        method: 'POST',
        body: data //JSON.stringify(postData)
      })

希望能帮助到你

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Instagram OAuthException:您必须提供 client_id 的相关文章

随机推荐

  • 内部服务器错误

    我在远程服务器上的同一文件夹中有一个 HTML 文件和一个 PHP 文件 从 URL 中 我调用 HTML 文件 而 HTML 文件在提交表单时调用 PHP 文件 但进展并不顺利 当我提交表单时 它显示错误 500内部服务器错误 您要查找的
  • 如何使用 MapReduce API 在映射到云存储之前过滤数据存储数据?

    关于代码实验室here 我们如何在 MapReduce 作业中过滤数据存储数据 而不是获取特定实体类型的所有对象 在下面的映射器管道定义中 唯一的一个输入读取器参数是要处理的实体类型 我在 InputReader 类中看不到可以提供帮助的类
  • Selenium Python:如何网络抓取元素文本

    我正在尝试从轮盘赌游戏中抓取数据 在努力的同时 find element by class name roulette round result position text 我得到这个输出
  • 如何拆分 git repo 并应用 Maven 子模块和 Maven 父模块?

    我需要一些关于如何配置多个存储库的建议 以便它们共享 Maven 父级 并且还配置为 Maven 根项目中的子模块 我正在维护开源项目简单的Java邮件由于可选功能变得越来越大 我计划将项目分成子模块 每个子模块都有自己的 GIT 存储库
  • 如何在方面内使用 ajc 构建参数?

    我需要知道方面内 jar 的名称 以便我可以通过 DeclareParents 创建一个字符串字段 我知道我可以将内容传递给 ajc 编译器 但实际上是否可以使用方面传递的参数 最终结果应该是带有附加字段的类 其中包含我的 jar 的名称作
  • Android 2.2 中的 BackupManager 和 BackupAgent

    我已经查看了文档和示例 BackupRestore 应用程序 并编写了自己的测试应用程序来实现android backupAgent 我延长了BackupAgent类 因为我主要关心的是能够从数据库备份数据 我似乎甚至无法让一个简单的概念验
  • 为什么在非最终类中使用普通 val

    如果课程不是最后一堂课 可能会延长 值有两种可能性 它可能被覆盖并且应该是惰性的 它可能不会被覆盖并且应该是最终的 如果 val 是最终的 您可以假设对它的所有计算都将通过类层次结构进行 如果 val 可能被覆盖 你应该声明它是惰性的 以免
  • 像内置 WP7 一样的图像/照片库

    我正在寻找适用于 Windows Phone 7 的照片库 它的外观和工作方式与内置照片查看器相同 使用轻拂操作幻灯片照片 使用捏合 拖动调整大小 当您轻拂图像时 您可以看到它滑动到下一个图像 并将列表捕捉到该图像 我已经为图像构建了调整大
  • 正则表达式包括字母数字和 _

    我正在尝试创建一个正则表达式来匹配字母数字字符和下划线 这是我的正则表达式 w s 我的印象是这个正则表达式意味着任何字母数字字符 w 下划线 和不 或空格 它是否正确 正则表达式被读取为实际匹配字符串中字符的模式 从左到右 因此您的模式实
  • 最大化直方图下的矩形区域

    我有一个具有整数高度和恒定宽度 1 的直方图 我想最大化直方图下的矩形区域 例如 答案是 6 3 2 使用 col1 和 col2 O n 2 蛮力对我来说很清楚 我想要一个 O n log n 算法 我试图按照最大递增子序列 O n lo
  • Angular4:ng-template 内的组件引用

    我是角度 4 的新手 我想获取 ng template 内组件 验证警报 的句柄
  • 将本机指针转换为 C++\CLI 托管对象引用?

    我有一个通过委托调用的回调 在其中 我需要处理从记录过程到达的缓冲区数据 通常 在非托管上下文中 我可以对 dwParam1 执行reinterpret cast 来获取对象引用 但在托管上下文中 如何将 DWORD PTR 转换为托管对象
  • 多线程场景中的 Microsoft.ACE.OLEDB.12.0 错误

    我在 x64 应用程序中使用Microsoft Access 数据库引擎 2010 Microsoft Office 2016 的一部分 用于处理 mdb 文件 但是 当前版本的 Microsoft Access Database Engi
  • 流程输出仅在流程完成后才可用

    我有一个 Runnable 它从外部调用的 exe 见下文 读取控制台输出并将其写入日志文件和 JTextArea 但在 exe 完全完成之前 我的 Runnable 不会在 JTextArea 中显示控制台输出 如何让它在发生时打印控制台
  • 从外部连接kafka的问题

    我正在使用 hortonwork Sandbox 作为 kafka 服务器 尝试使用java代码从eclipse连接kafka 使用此配置连接到生产者发送消息 metadata broker list sandbox hortonworks
  • 使用endswith读取文件列表在列表中找不到扩展名

    我试图让我的 python 脚本读取一个文本文件 其中包含带有扩展名的文件名列表 并在找到特定扩展名时打印出来 确切地说是 txt 文件 它读取文件并遍历每一行 我通过在 for 语句后放置一个简单的 打印行 进行测试 但当它在行中看到 t
  • Color_FormatSurface 实现

    是否有关于 Color FormatSurface AndroidOpaque 颜色格式的可用文档 我的视频编码器目前不支持这种格式 我应该添加该功能 但我找不到任何有关它的信息 任何帮助 将不胜感激 没有关于它的文档 因为它是不透明的 这
  • 在Azure DevOps中如何使用REST API触发发布?

    我在 Azure DevOps 中构建和发布管道 该管道包含三个不同的阶段 即分阶段 QA 和 PROD 因此 在 QA 槽中完成部署后 我想使用 REST API 触发 PROD 环境 那么 是否可以做同样的事情呢 在单个发布管道中不可能
  • Javascript Date() 构造函数不起作用

    我有一个问题 JavaScriptDate mm dd yyyy 构造函数不适用于 FF 对于 IE 来说效果很好 IE new Date 04 02 2008 gt Wed Apr 2 00 00 00 EDT 2008 FF2 new
  • Instagram OAuthException:您必须提供 client_id

    我一直在尝试在我的网络应用程序中使用 instagram API 的服务器端身份验证 我已按照以下位置提供的步骤进行操作Intagram 的 API 页面 但我不断收到错误you must provide a client id 代码是用n