如何获得Instagram令牌?

时间:2012-09-28 09:24:49

标签: ios oauth uiwebview afnetworking instagram

我正试图在Instagram API中获取oauth_token。我看到了他们的文档。所以我看到获取这样的令牌的操作:uiwebview加载具有客户端ID的特殊请求URL并重定向uri,当用户点击“Accept”时,服务器重定向到我的重定向uri与CODE。然后我必须发布带有客户端ID和客户端密钥的已接收CODE。这是我的loginViewController代码。我正在尝试使用AFNetworking发布数据。我究竟做错了什么?

我只能获得CODE,但我无法将其发回以获取令牌。

- (void)viewDidLoad
{
    [loginPage loadRequest:[NSURLRequest requestWithURL:
[NSURL URLWithString:@"https://api.instagram.com/oauth/authorize/?
client_id=MY_CLIENT_ID&redirect_uri=http://MY_REDIRECT_URI/&response_type=code"]]];

    [super viewDidLoad];
}

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

    //here I'm getting the CODE
    NSURL *clickedURL = [request URL];
    NSString *URLString = [clickedURL absoluteString];
    NSArray *tmpArr = [URLString componentsSeparatedByString:@"="];
    code = [tmpArr objectAtIndex:1];
    NSLog(@"code: %@", code);

下一步做什么??

1 个答案:

答案 0 :(得分:0)

我已经实施了几次OAuth并建议您使用gtm-oauth。使用OAuth时,集成和处理所有可能的错误等相当容易。另外,AFNetworking还有一些正在开发的OAuth项目。 OAuth1 / OAuth2

您可以构建自己的错误,但是您需要处理所有返回的错误,并构建一个在webview中的页面之间导航和第四个方法,gtm-oauth已经为您做了。