3

好的......这是我的代码:

twitterEngine = [[MGTwitterEngine alloc] initWithDelegate:self];    
    [twitterEngine setConsumerKey:CONSUMER_KEY secret:CONSUMER_SECRET];
    accessToken = [twitterEngine getXAuthAccessTokenForUsername:profile.twitterUserId password:profile.twitterPassword];
    NSLog(@"Access token: %@", accessToken);

控制台显示返回的访问令牌很好(所以它似乎工作)例如。访问令牌:C8A24515-0F11-4B5A-8813-XXXXXXXXXXXXXX

但不是在我的委托上调用 accessTokenReceived 方法,而是使用 401 调用 requestFailed。我怎样才能获得未经授权的 401 并从方法调用中获取访问令牌??????

4

2 回答 2

2

xAuth,用于交换登录名和密码以获取访问令牌的过程,是可验证满足 Twitter 标准的应用程序的特权:桌面或移动应用程序无法提供整个三足 OAuth 流程。带外 OAuth 和自定义 URI 方案仍然优于 xAuth。

如果您已经用尽了其他 OAuth 实现并希望使用 xAuth,您可以通过 api@twitter.com 从与拥有该应用程序的帐户直接关联的电子邮件地址联系 Twitter。包括有关您的应用程序、其用户群的完整详细信息、指向应用程序屏幕截图的链接,以及为什么这种授权形式适用于您的应用程序的详细说明。对 xAuth 的查询将根据具体情况进行考虑,不会授予所有申请人。

xAuth 的实施者不得在其应用程序中存储登录名和密码——这不是基本身份验证的直接替代品,也不是避免实施 OAuth 身份验证的方法。

于 2010-07-16T17:53:33.360 回答
0

找到了问题...对于遇到此问题的任何其他人...让您的应用获得 OAuth 批准只是该过程的一部分。尽管看起来您已经完成了,并且 twitter 页面为您提供了您的密钥和秘密……但下一步却不是那么容易找到。您必须向 api@twitter.com 发送电子邮件并要求他们实际启用它。

这很有趣。:)

于 2010-05-22T01:14:08.473 回答