iOS - 使用Google进行身份验证并将令牌发送到服务器进行同步

时间:2014-04-02 11:04:52

标签: ios google-api-client oauth2client

我正在使用iOS应用程序,该应用程序用于通过Google oAuth2机制进行身份验证。成功验证后,我将代码/令牌发送到服务器以处理文件,日历等的同步。
我能够使用最新的库/框架成功通过谷歌进行身份验证 但经过身份验证后,我得到了可以发送给服务器的令牌/代码。但是,当服务器使用代码与谷歌进行身份验证时,它的失败 还有其他API可以解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

这是非常广泛的主题:) 在某些情况下,足以将令牌数据添加到URL(例如LinkedIn),例如:

NSString *requestURLString = [@"https://api.linkedin.com/v1/people/~/shares?oauth2_access_token=" stringByAppendingString:@"LI_access_token"];

在某些情况下,需要向HTTP POST请求添加相应的字段,例如发布Facebook,例如:

postString = [NSString stringWithFormat:@"\r\n--%@\r\n", boundary];
postString = [postString stringByAppendingString:@"Content-Disposition: form-data; name=\"access_token\"\r\n\r\n"];
postString = [postString stringByAppendingString:FBSession.activeSession.accessTokenData.accessToken];

或者需要向HTTP请求标头添加其他字段,例如SoundCloud:

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:requestURL] cachePolicy:NSURLRequestReloadIgnoringLocalAndRemoteCacheData timeoutInterval:60.0f];
[request setHTTPMethod:@"GET"];
[request setValue:[@"OAuth " stringByAppendingString:self.accessToken] forHTTPHeaderField:@"Authorization"];

尝试使用已使用的API文档澄清您的情况。