对于使用我的应用程序授权 Instagram,我已关注
https://developers.facebook.com/docs/instagram-basic-display-api/getting-started
从App取消Instagram授权,取消授权回调
我面临的问题是,在取消授权回调时,我为同一个 Instagram 帐户获取了不同的用户 ID。当 Instagram 用户从他们的帐户中删除我的客户端应用程序时,Instagram 会通过取消授权回调 URL 发送一个signed_request。解析signed_request后。我们针对该用户获取了不同的用户 ID!!!
注意:我正在为我的客户端应用程序使用测试用户
您正在使用 Instagram Basic Display API,在授权请求时,您将获得 api id(用户 id),但在取消授权时,回调返回用户图形 id,即图形 id,而不是您之前授权时获得的 api id。 因此,为了解决这个问题,在授权时,还要获取用户图形 ID 以及用户 api ID,您可以稍后在取消授权时进行匹配
这里有一个错误描述了这个确切的问题: https://developers.facebook.com/support/bugs/1485832065259000/?join_id=f290dd8c434813c
上面的答案说:
因此,为了解决这个问题,在授权时,还要获取用户图形 ID 以及用户 api ID,以便稍后在取消授权时进行匹配
除非我遗漏了什么,否则基本显示 API 中似乎没有任何选项可以按照 Krishna 的建议“获取用户图形 id”。
获取取消授权回调返回的ID后,您可以通过新的API调用来获取正确的用户ID,以获取正确的用户ID:
https://graph.instagram.com/{user_id from callback}?fields=id&access_token={access_token}
但是,除非您已经知道图形 id 属于哪个 user_id,以便在此 API 调用中使用正确的访问令牌(这正是我们正在努力找出的!),否则这没有帮助。
我希望其他人已经解决了这个问题,并且会过来发表评论,但到目前为止,这个非常烦人的问题似乎还没有有效的解决方案。
错误报告中 Meta 团队的回复相当无用:
我们刚刚从我们的团队回来,不幸的是,这个问题暂时无法修复,将来会考虑修复。对于由此可能造成的任何失望,我深表歉意。我确实理解这对您来说有多重要,并且我也确保与团队分享您的反馈。
我们将继续在内部跟踪该问题,以便将来可能修复。在此期间,如果您还有任何其他问题,请告诉我。谢谢您的耐心等待。
我希望其他遇到此问题的人发表评论,并且非常乐意被证明是错误的!