1

我正在构建一个 WP7 Twitter 客户端。正常的 OAuth 1.0 流程涉及通过使用我的应用程序的使用者密钥将 Web 浏览器导航到https://api.twitter.com/1/oauth/authenticate来获取请求令牌;此页面将显示登录提示并要求用户授权我的应用代表他们执行操作。完成后,此页面将重定向到我的应用提供的回调 URL,请求令牌作为参数提供。

对于网络应用程序,这是有道理的。不过,我不明白这应该如何用于独立的移动/桌面应用程序。Twitter API 文档似乎暗示这应该是一个可行的选择。他们确实提供了一种替代的 xAuth 机制,允许应用程序自己收集用户名/密码,然后直接提供它来获取访问令牌。API 文档指出这是一个较差的选项(因为它要求用户使用他们的密码信任应用程序,而不仅仅是 Twitter),但我看不出我有什么合理的选择?

(还有一个基于 PIN 的选项,但这对用户来说是一个相当繁琐的解决方案)

我只是想确保我没有遗漏任何明显的东西。

4

2 回答 2

6

“对于网络应用程序来说,这是有道理的。不过,我不明白这应该如何用于独立的移动/桌面应用程序。”

只需在您的应用程序中嵌入 Web 浏览器控件,然后导航到 twitter 身份验证页面。然后检测到回调 url 的重定向(使用Navigating事件)并检索参数。许多 twitter 应用程序都会这样做,这与询问用户登录名和密码基本相同,只是您显示的是 twitter 页面而不是您自己的控件。

于 2012-05-21T07:39:34.887 回答
1

不,你是对的。移动/桌面应用程序的选项是基于 pin 的选项或使用 xAuth。一旦您的 xAuth 应用程序具有访问令牌,它就与 OAuth 无法区分(它只会更改授权工作流程)。它确实发生了变化,这对于 Twitter 来说是非常具体的,那就是如果您确实使用 xAuth,那么您的应用程序将不被允许读取或写入直接消息。有关详细信息,请参阅 Twitter 的应用程序权限模型页面。

于 2012-05-21T06:55:27.533 回答