我正在使用 google api 在我的应用程序中执行 google lattitude 操作。我已经完成了使用凭据对用户进行身份验证。现在我正在尝试使用从初始请求生成的 autherization_code 生成 accesstoken。但它通过 invalid_request 作为 didReceiveData 函数中的错误。你们中的一些人可以建议我解决我的问题吗?Oauth 请求格式假设如下。
POST /o/oauth2/token HTTP/1.1
Host: accounts.google.com
Content-Type: application/x-www-form-urlencoded
code=4/v6xr77ewYqhvHSyW6UJ1w7jKwAzu&
client_id=8819981768.apps.googleusercontent.com&
client_secret={client_secret}&
redirect_uri=https://oauth2-login-demo.appspot.com/code&
grant_type=authorization_code
我执行上述服务调用的 ios 代码如下
NSString * urlString = [NSString stringWithFormat:@"https://accounts.google.com/o/oauth2/token?code=%@&client_id=363756608022.apps.googleusercontent.com&client_secret=dury2bxloSVQ1sdJjg9MKO9s&redirect_uri=urn:ietf:wg:oauth:2.0:oob&grant_type=authorization_code",[userDefaults valueForKey:@"accessTokenResponse"]];
NSURL * url = [NSURL URLWithString:urlString];
NSMutableURLRequest * request = [[NSMutableURLRequest alloc] initWithURL:url];
[request addValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
[request setHTTPMethod:@"POST"];
NSLog(@"sendng req : %@",request);
NSURLConnection * connection = [[NSURLConnection alloc]initWithRequest:request delegate:self];
[connection start];