无法让Twitter OAuth回调身份验证在Cocoa应用程序中运行

时间:2011-08-14 20:46:14

标签: cocoa oauth twitter-oauth

我正在使用MGTwitterEngine和OAuthConsumer框架。并且主要遵循UsingOAuthConsumer的说明。

为了使用OAuth而不让用户处理基于oob PIN的身份验证,您需要启用对应用程序的回调。要在桌面(或iOS)应用程序上执行此操作,您需要设置一个自定义URI方案,该方案将转到应用程序中的事件处理程序。我得到了这个功能,并使用Safari中的自定义URI对其进行了测试。我的应用程序打开并调用了正确的方法。到现在为止还挺好。

要为Twitter执行此操作,您需要在Twitter的开发站点上的应用程序设置中指定回调URI。问题开始了。 Twitter不允许使用非标准URI。所以不允许“myapp:// oauth /”。它必须是http或https URI。我引用的所有网站都说放置占位符,并在请求令牌请求中覆盖。好的,所以我在这里为我的网站添加了一个虚拟URL。现在实现覆盖。以下是其中一条评论的代码:

OAMutableURLRequest *request = [[OAMutableURLRequest alloc] initWithURL:url
                                                               consumer:consumer
                                                                  token:nil   
                                                                  realm:nil  
                                                      signatureProvider:nil]; 

[request setOAuthParameterName:@"oauth_callback" withValue:@"callbackurl:"];

当我添加第二个方法调用时,对twitter的请求现在失败了。 NSURLErrorDomain错误-1012或类似的东西(我忘了记下这个号码)。

我尝试了很多方法,但从未能覆盖回调网址。有没有人有这样做的确定方法?目前,我已将应用程序更改为使用OOB PIN身份验证方法,但我确定要为用户删除不必要的步骤。

谢谢!

1 个答案:

答案 0 :(得分:0)

我终于放弃了OAuthConsumer框架并转而使用Google GTMOAuth框架。这很好。