如何使用FB访问令牌和用户ID来验证Tinder API
问题描述:
我一直在尝试使用FB访问令牌和用户ID进行Tinder验证。我已经成功集成了FB SDK并获得了详细信息。我遵循link中给出的API文档。如何使用FB访问令牌和用户ID来验证Tinder API
但是当我调用Tinder认证API时,我得到'未经授权的401'错误。不知道我在这里错过了什么,请在下面找到我使用的代码。
AFHTTPSessionManager *manager = [[AFHTTPSessionManager alloc]initWithSessionConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration]];
manager.requestSerializer = [AFJSONRequestSerializer serializer];
[manager.requestSerializer setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[manager.requestSerializer setValue:accessToken forHTTPHeaderField:@"X-Auth-Token"];
[manager.requestSerializer setValue:@"Tinder/4.7.1 (iPhone; iOS 9.2; Scale/2.00)" forHTTPHeaderField:@"User-agent"];
NSString *userId = [[NSUserDefaults standardUserDefaults] valueForKey:FB_LOGGED_IN_USERID_KEY];
NSDictionary *parameterDic = @{@"facebook_token": accessToken, @"facebook_id": userId};
[manager POST:TINDER_AUTH_URL parameters:parameterDic progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
NSLog(@"success! %@", responseObject);
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
NSLog(@"error: %@", error);
}];
答
您的X-Auth-Token
头设置为Facebook的令牌accessToken
,这可能导致401错误。您只应在以下针对您将在身份验证请求的响应中获得的Tinder令牌的请求中进行设置。
答
更新:
我创建了Github上回购。你会明白它是如何工作的。更多信息:https://tinder.bhavukjain.com
/***************/
您使用了错误的标签:
设置的PARAMS是这样的:
let params:[String:Any] = ["locale":"en-IN",
"force_refresh": false,
"facebook_token":token,
"facebook_id":fbId]
我试过没有,以及得到相同的错误。根据API文档,它应该被添加。 – Mithun
实际上,您链接的API文档声明:“所有卷发都必须与标头一起发送(唯一的例外是/ auth调用不能包含X-Auth-Token标头)”。你用什么作为userId和TINDER_AUTH_URL? –
用户名是FB登录的用户的用户ID和TINDER_AUTH_URL是https://api.gotinder.com/auth – Mithun