我正在使用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身份验证方法,但我确定要为用户删除不必要的步骤。
谢谢!
乔
答案 0 :(得分:0)
我终于放弃了OAuthConsumer框架并转而使用Google GTMOAuth框架。这很好。