【发布时间】:2015-01-29 15:50:24
【问题描述】:
在创建我的 Android 应用程序时,我很难在我的提要上点赞照片,如果我没记错的话,解决方案是在创建 instagram 对象时提供一个 Enforce Signed Header。但是,如果我查看 API 文档,它会说:
重要提示您的客户端密码应始终保持安全。 不要与任何人分享这个秘密,不要将它包含在 java-script 中 代码或移动客户端。 没有服务器端的移动应用 组件不应使用强制签名标头设置。您有 随时将您的客户端密码重置为新值的能力,如果 你怀疑它被泄露了。
但是,当我禁用 Enforce Signed Header 时,点赞功能不起作用。使用 Enforce Signed Header 时,我通过 HTTP 请求向设备槽 http://myip.dnsomatic.com/ 提供远程 IP 以解析网页。
再次引用开发 API:
如果启用了 Enforce 签名标头,则以下端点需要 X-Insta-Forwarded-For 标头:
- POST /users/{user_id}/relationship
- POST /media/{media_id}/cmets
- DEL /media/{media_id}/cmets/{comment_id}
- POST /media/{media_id}/likes
- DEL /media/{media_id}/likes
所以基本上它说(我从这句话中得到的)是如果启用了 Enforce Signed Header,这些端点需要 X-Insta-Forwarded-For 标头。这意味着如果 Enforce Signed Header 被禁用,他们就不需要该标头。
我这样做是否正确,或者我是否能够喜欢没有 Enforce Signed Header 的照片和视频?
我将在今天晚些时候尝试为没有 Enforce Signed Header 的照片点赞时对此进行编辑并发布日志。谢谢!
另一个快速的问题,在上述文档的引用中,他们说不要在代码中包含客户端密码,但需要客户端密码才能创建 instagram 对象。你是如何解决这个挑战的?现在我将客户端机密存储在我的应用程序中的加密密钥中,这是一个好方法吗?
感谢您的所有提示,
提姆
【问题讨论】:
标签: java android http-headers instagram