mgtwitterengine和oauth 401错误:令人难以置信

时间:2010-05-21 05:46:28

标签: oauth twitter xcode3.2 http-status-code-401 mgtwitterengine

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

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

但是我的委托上没有调用nextTokenReceived方法,而是使用401调用requestFailed。如何从方法调用中获取未授权的401并获取访问令牌?????

2 个答案:

答案 0 :(得分:2)

xAuth是交换访问令牌的登录名和密码的过程,对于可验证地符合Twitter标准的应用程序是一种特权:桌面或移动应用程序,否则无法提供整个三足OAuth流程。与xAuth相比,带外OAuth和自定义URI方案仍然是首选。

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

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

答案 1 :(得分:0)

发现问题...对于有此问题的其他任何人......让您的应用获得OAuth批准只是此过程的一部分。虽然看起来你已经完成了,而且推特页面为你提供了密钥和秘密......但下一步还有一个不那么容易找到的方法。您必须发送电子邮件至api@twitter.com并要求他们实际启用它。

这很有趣。 :)