我正在使用 MGTwitterEngine 和 OAuthConsumer 框架。并且主要遵循以下说明使用OAuth消费者.
为了使用 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 或类似的错误(我忘记写下数字)。
我尝试了多种方法,但始终无法覆盖回调 URL。有没有人有一个可靠的方法来做到这一点?目前,我已将应用程序更改为使用 OOB PIN 身份验证方法,但我确实希望为用户删除不必要的步骤。
Thanks!
joe
我最终放弃了OAuthConsumer框架,转而使用Google GTMOAuth框架。效果很好。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)