Instagram API地理订阅发布错误

Instagram API Geography Subscription Post Error

本文关键字:布错误 错误 API Instagram      更新时间:2023-09-26

尝试使用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."}}

有什么建议如何解决这个问题吗?

任何帮助都是非常感激的。设置订阅已经有好几天的麻烦了,有人告诉我需要在服务器端而不是客户端进行设置,所以这就是我现在所处的位置。

Instagram无法访问您的localhost。摘自他们的API文档:

当您添加订阅时,我们将向您的回调URL发送GET请求,以验证URL的存在以及想要创建订阅的URL。当我们有新的数据时,我们将把这些数据POST到你的回调URL。我们将在本页后面详细解释这个URL需要做什么。

你的问题是他们的GET-request失败了,因为他们不能访问你的localhost

您将需要在路由器中转发端口1337或使用公共IP。您也可以尝试使用localtunnel。设置到本地主机的隧道