Javascript Instagram实时OAuthParameterException:缺少客户端id或access令牌URL参数。in_请求

Javascript Instagram实时OAuthParameterException:缺少客户端id或access令牌URL参数。in_请求,javascript,node.js,instagram,Javascript,Node.js,Instagram,我正在尝试设置Instagram实时订阅。我是NodeJS的新手,所以我想从GitHub建立一个项目。我试过几次回购,结果都是一样的错误 OAuthParameterException occurred: Missing client_id or access_token URL parameter. in _request 我目前使用的代码来自: 我开始注册我的应用程序,我为我的回调url设置了一个heroku实例,获得了带有范围公共内容和追随者列表的访问令牌 在中,我将您的\u CLIEN

我正在尝试设置Instagram实时订阅。我是NodeJS的新手,所以我想从GitHub建立一个项目。我试过几次回购,结果都是一样的错误

OAuthParameterException occurred: Missing client_id or access_token URL parameter. in _request
我目前使用的代码来自:

我开始注册我的应用程序,我为我的回调url设置了一个heroku实例,获得了带有范围公共内容和追随者列表的访问令牌

在中,我将您的\u CLIENT\u ID和您的\u CLIENT\u SECRET替换为从中获取的我的CLIENT\u ID和CLIENT\u SECRET值 此外,如文档所述,我还为我的访问令牌增加了价值

Instagram API需要经过身份验证的用户提供访问令牌 对于每个端点。我们不再支持仅使用 客户号

接下来,我尝试订阅一个标记(第38-45行)。 这将导致错误消息

OAuthParameterException occurred: Missing client_id or access_token URL parameter. in _request
尝试解决错误:

根据建议,我在中添加了以下代码行。这并没有解决错误

options['headers']['Content-Type'] = 'application/x-www-form-urlencoded';
我在中修改了订阅函数以包含verify_令牌。这也没有解决错误

InstagramSubscriptions.prototype._subscribe = function(params) {
          var i, _i, _len, _ref;
          params['method'] = "POST";
          params['path'] = "/" + this.parent._api_version + "/subscriptions/";
          if ((typeof params['callback_url'] === 'undefined' || params['callback_url'] === null) && this.parent._config.callback_url !== null) {
            params['callback_url'] = this.parent._config.callback_url;
          }
          params['post_data'] = {
            object: params['object'],
            aspect: 'media',
            client_id: this.parent._config.client_id,
            client_secret: this.parent._config.client_secret,
            verify_token: this.parent._config.access_token,
            callback_url: params['callback_url']
          };
          _ref = ['object_id', 'verify_token', 'lat', 'lng', 'radius'];
          for (_i = 0, _len = _ref.length; _i < _len; _i++) {
            i = _ref[_i];
            if (params[i] != null) {
              params['post_data'][i] = params[i];
            }
          }
          return this.parent._request(params);
        };
我的package.json和node、nom、instagram node lib的更新版本如下所示

{
  "name": "RealTimeInstagram",
  "version": "0.0.1",
  "description": "Real time instagram",
  "author": "Michael Lancaster",
  "dependencies": {
    "express": "3.21.2",
    "instagram-node-lib": "https://github.com/zunman/instagram-node-lib/tarball/master",
    "jade": "1.3.1",
    "request": "2.34.0",
    "socket.io": "1.7.4"
  },
  "engines": {
    "node": "6.9.1",
    "npm": "3.10.8"
  }
}
我不确定我错过了什么。非常感谢您对错误的任何帮助

附言。
我在project中也遇到了同样的错误。

Instagram API不再支持标签订阅:

2015年11月17日当天或之后创建的应用程序

  • 不推荐标记、位置和地理位置的实时订阅

不知道他们为什么这么做,但即使你消除了这个错误,你也不会收到标签更新

我也在尝试同样的事情,但下面这句话实际上对我有用(至少关于错误输出,因为我的应用程序从未收到任何通知):


您可能可以使用“最近的媒体标签”端点(),在应用程序中使用计时器或其他工具,不时进行搜索。这不是最好的世界,但应该有用。

谢谢你的回复。我会尝试一下最近的媒体标签,我仍然会遇到同样的错误。但是,知道不推荐按标记、位置和地理位置进行实时订阅确实有帮助。我的用例涉及订阅地理信息。谢谢你的帮助@L.清水看。。。尝试使用此存储库(我正在使用的存储库与header.content-type行一起使用):
{
  "name": "RealTimeInstagram",
  "version": "0.0.1",
  "description": "Real time instagram",
  "author": "Michael Lancaster",
  "dependencies": {
    "express": "3.21.2",
    "instagram-node-lib": "https://github.com/zunman/instagram-node-lib/tarball/master",
    "jade": "1.3.1",
    "request": "2.34.0",
    "socket.io": "1.7.4"
  },
  "engines": {
    "node": "6.9.1",
    "npm": "3.10.8"
  }
}
options['headers']['Content-Type'] = 'application/x-www-form-urlencoded';