我正在尝试使用“客户端定向登录操作”在我的Azure移动服务(http://msdn.microsoft.com/en-us/library/windowsazure/jj710106.aspx)上使用Facebook帐户授权用户
NSArray* permissions = @[@"email, user_about_me, basic_info"];
[FBSession openActiveSessionWithReadPermissions:permissions
allowLoginUI:YES
completionHandler:^(FBSession* session, FBSessionState status, NSError* error) {
if (!error) {
[_msClient loginWithProvider:provider
token:@{@"access_token" : [[session accessTokenData] accessToken]}
completion:^(MSUser* user, NSError* error) {
NSLog(@"%@", error);
}];
}
}];
Error Domain=com.Microsoft.WindowsAzureMobileServices.ErrorDomain Code=-1302 "Error: The Facebook Graph API access token authorization request failed with HTTP status code 400" UserInfo=0x1768ba80 {NSLocalizedDescription=Error: The Facebook Graph API access token authorization request failed with HTTP status code 400}
我可以确认,
NSString* access_token = [[session accessTokenData] accessToken];
返回一个有效的访问令牌,因为它在https://developers.facebook.com/tools/explorer/?method=GET&path=me运行时没有任何错误。
我做错了什么?
答案 0 :(得分:2)
有类似的问题,我可以确认Azure移动服务返回的错误是最无益的。我最终在这里了解了幕后发生的事情:https://developers.facebook.com/docs/facebook-login/access-tokens/#extending
然后我尝试通过手动调用GET请求获取长期令牌(https://graph.facebook.com/oauth/access_token?grant_type=fb_exchange_token&client_id= {app-id}& client_secret = {app-secret}& fb_exchange_token = {short-lived-token} )在这里我终于得到了真正的错误信息。在我的情况下,它原来是“请求无效,因为应用程序配置为桌面应用程序”,只需在Facebook应用程序配置中翻转一个开关修复它。
在您的情况下,它可能是一个不同的错误消息,但我建议您采用这种方法,看看它在哪里。
答案 1 :(得分:0)
现在已经很老了,但也遇到了同样的问题。检查你是否没有打开“Is Your App Secret Embedded”。我接受了它,因为我认为ZUMO SDK会在某个地方使用它,但我想它只是存在于你的MS身份配置的云端。 / p>