【发布时间】:2011-06-12 17:41:05
【问题描述】:
我有一个适用于 iPhone 的 Web 应用程序,它最终将在 PhoneGap 应用程序中运行 - 但现在我在 Safari 中运行它。
应用程序需要访问来自 Twitter 好友的推文,包括私人推文。所以我使用 Scribe 库实现了 OAuth。我成功地将用户退回到 Twitter,让他们进行身份验证,然后退回。
此时,Web 应用程序具有本地保存的 oAuth 凭据(密钥和令牌)。从这里开始,我希望它使用 Twitter statuses/user_timeline.json 方法来获取特定用户的推文。我有应用程序使用 JSONP 请求成功地处理未受保护的推文;当它访问私人 Twitter 提要的时间线时,应用程序中会出现一个 HTTP 基本身份验证对话框。
我认为我需要向 Twitter 提供 OAuth 凭据,以便我的 Web 应用程序可以识别和验证自己。 Twitter 建议通过添加 HTTP Authorization 标头来执行此操作,但由于我使用 JSONP 处理请求,我认为这不是我的选择。我的假设是否正确?
因此,我的选择似乎是将 oAuth 凭据作为查询字符串参数(Twitter 建议反对,但文档建议仍然支持);或通过中间服务器代理所有推文。我宁愿避免后者。
我使用表单的 URL 访问 Twitter API
当 user_id 是公共用户时,这可以正常工作。当 user_id 是私人用户时,我会看到那个 HTTP Basic Auth 对话框。知道我做错了什么吗?我希望这是一些简单得令人尴尬的事情,比如“忘记一个重要参数”......
【问题讨论】:
标签: json api twitter oauth jqtouch