Twitter登录无需社交框架

3
我正在尝试在我的iOS应用程序中实现Twitter登录。我不想使用社交框架。我已经尝试了所有的Twitter登录方法,但不幸的是没有成功。主要问题是回调URL的问题。请问你们能帮我吗?
我也尝试了这个URL。

http://codegerms.com/login-with-twitter-example-with-ios-tutorial-using-oauth/

但主要问题是回调问题。请问是否有其他插件可以建议。


如果你使用FHSTwitterengine,需要任何帮助的话,我很乐意为你效劳。 - Anbu.Karthik
2个回答

2
要从Twitter获取用户信息,您可以使用OAuth.io的iOS SDK:https://github.com/oauth-io/oauth-ioshttps://oauth.io上创建帐户并添加Twitter作为提供者后,您就可以很容易地获取用户信息。 您只需要按照以下步骤操作:

1 通过Cocoa Pod或手动安装框架

通过Cocoa Pod:
$ pod install "OAuth.io"

手动安装:

只需从这里获取OAuthiOS.framework文件,并像安装其他框架一样安装它。

2 插入头文件引用

在您的ViewController中添加#import <OAuthiOS/OAuthiOS.h>

3 将视图控制器设置为OAuthIODelegate的委托:

@interface MyViewController : UIViewController<OAuthIODelegate>
//[...]
@end

4 在ViewController中初始化并启动身份验证弹出窗口:

OAuthIOModal *oauthioModal = [[OAuthIOModal alloc] initWithKey:@"your_app_public_key" delegate:self];
[oauthioModal showWithProvider:@"twitter"];

5 实现以下委托方法以获取请求对象,该对象可通过me方法让您检索用户信息:

- (void)didReceiveOAuthIOResponse:(OAuthIORequest *)request
{
    [_request me:nil success:^(NSDictionary *output, NSString *body, NSHTTPURLResponse 
    *httpResponse)
     {
         NSLog(@"name: %@", [output objectForKey:@"name"]);
     }];
}

如需了解更多关于iOS SDK的信息,可以查看这里的指南:https://oauth.io/getting-started?ios&None
您也可以在这里参考基于git的教程:https://oauth.io/docs/tutorials/client/ios
此外,在这里可以找到SDK的参考文档:https://oauth.io/docs/api-reference/client/ios
请注意,OAuth.io还将其核心代码开源在oauthd项目中(在此处查看存储库:https://github.com/oauth-io/oauthd)。
希望这可以帮助您 :)

0

rmaddy,你能详细解释一下你遇到的问题吗?我也按照这个教程成功地获取了访问令牌。尝试在你的代码中设置断点,你可能没有在代码中更改回调URL。让我用一张图片来解释一下。

首先,在以下函数中设置断点:

  • (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType

现在运行应用程序并输入您的登录凭据。在成功获取请求令牌后,您将被重定向到您的重定向URL,然后您将获得访问令牌。 enter image description here

你的程序可能没有进入这个if条件语句,请尝试更改此代码以符合你的回调字符串。如果仍有问题,请详细告诉我,我会帮助你解决问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接