Instagram实时API回调URL转义[重复]
Posted
技术标签:
【中文标题】Instagram实时API回调URL转义[重复]【英文标题】:Instagram Real-Time API Callback URL Escaping [duplicate] 【发布时间】:2014-04-10 19:38:48 【问题描述】:当用户发布图片时,我使用Instagram's Real-Time API 接收实时更新。 这一切都已设置好并且运行良好。今天随机决定不工作了。
已采取调试步骤:
-
客户端/应用程序已在 Instagram 注册
验证至少有一个用户已经订阅...我知道这一点,因为当我 verify the list 时,我得到了这个响应(example.com 替换了实际域)。
“元”:“代码”:200,
“数据: [
“对象”:“用户”,
“object_id”:空,
“方面”:“媒体”,
"callback_url":"http:\/\/example.com\/common\/instagram\/subscriptions
",
“类型”:“订阅”,
“id”:“4270301”
]
显然,callback_url 发生了一些奇怪的事情。你可以看到the sample response 没有反斜杠。尝试通过 curl 订阅新用户时,我也遇到了同样的情况,格式与 Instagram's example 完全相同。 Instagram 正在尝试使用“http:\/\/example.com\/common\/instagram\/subscriptions
”并返回“无法访问回调 URL”。
我已经阅读了一堆关于 API 的其他问题,但似乎没有人报告类似的内容。现在已经有多个其他类似问题的报告(请参阅Instagram API - Unable to reach callback URL、Node.js Instagram APISubscriptionError 等)。在这一点上,我唯一的猜测是问题出在 Instagram 方面,但希望我忽略了某些东西或犯了一个愚蠢的错误。
感谢任何能给我指明正确方向的人。干杯。
【问题讨论】:
过去几天我也收到了Unable to reach callback URL
。在那之前一切都很好......
相同:***.com/questions/22951609/… 和 ***.com/questions/22956978/… 和 ***.com/questions/22983969/…
【参考方案1】:
回调 url 很好。您看到的额外\
s 是由于JSON 编码/
字符的方式。在这里查看转义规则:http://www.json.org/
真正的问题是 Instagram 的实时订阅 API 在过去几天似乎出现了问题。有关链接,请参阅 @DanShev 的评论。
与此同时,我有一个系统可以定期查看我用户的照片以查找我感兴趣的照片。我的代码(在 Python 中)看起来像这样:
from instagram import client
users = InstagramUser.objects.all()
for user in users:
api = client.InstagramAPI(access_token=user.access_token)
user_media, paginate_url = api.user_recent_media(user_id=user.instagram_user_id)
for media in user_media:
# Check if this is a media we've already gotten via subscription update
# Do somethign with the media
【讨论】:
【参考方案2】:过去几天我一直遇到同样的问题。作为最后的努力,我尝试使用 API 清除所有订阅,以防有孤儿通过系统运行。 YMMV,但这最终解决了我的“无法到达 callback_url”问题。
Realtime Photo Updates API 文档的最后一部分有详细信息。要从命令行快速测试,可以试试他们的 curl 示例:
curl -X DELETE 'https://api.instagram.com/v1/subscriptions?client_secret=CLIENT-SECRET&object=all&client_id=CLIENT-ID'
如果这最终对您有用,我建议您更新您的应用代码以删除给定 client_id 的所有现有订阅,然后再开始新订阅。当然,这只有在您限制自己为每组凭据创建一个订阅时才可行。如果您要创建多个订阅,则需要跟踪构成活动订阅的查询,并在重新创建之前删除已存在的查询。
【讨论】:
【参考方案3】:这实际上是 Instagram 的一个错误。他们修复了它,它现在应该可以工作了。
【讨论】:
以上是关于Instagram实时API回调URL转义[重复]的主要内容,如果未能解决你的问题,请参考以下文章