Instagram API地理订阅发布错误

尝试使用Node.js中的npm请求库进行POST请求,如下所示:

var path = require('path'); var express = require('express'); var request = require('request'); var app = express(); module.exports = app; var data = { client_id: 'XXX', client_secret: 'XXX', object: 'geography', aspect: 'media', lat: 35.657872, lng: 139.70232, radius: 1000, callback_url: 'http://localhost:1337/auth/instagram/callback' }; var options = { uri: 'https://api.instagram.com/v1/subscriptions/', method: 'POST', form: data }; request(options, function (err, response, body) { console.log(body, "body"); console.log(err, "error"); }); 

但是我收到这个错误:

 {"meta":{"error_type":"APISubscriptionError","code":400, "error_message":"Invalid URL. The URL may be on a private network."}} 

有关如何解决这个问题的任何build议?

任何帮助,非常感谢它。 现在一直在麻烦设置一个订阅几天,被告知我需要做服务器端而不是客户端,所以这是我现在在哪里。

Instagram无法访问您的localhost 。 从他们的API文档中获取 :

当您添加订阅时,我们会向您的回叫url发送一个GET请求,以validation是否存在该url,并希望创build订阅。 当我们有新的数据时,我们会将这些数据发布到您的callbackurl。 我们将在本页稍后解释更多关于这个URL需要做什么的问题。

你的问题是他们的GET-request失败,因为他们无法访问你的localhost

您将需要在您的路由器上端口1337端口或使用公共IP。 你也可以尝试使用localtunnel.mebuild立一个到你的本地主机的隧道