从本周开始,我的iOS App在访问FB时遇到了问题(通过iOS FB SDK)。发生以下错误:
2013-06-18 15:44:16.756 foo-coffee[2441:907] Error: HTTP status code: 500
2013-06-18 15:44:16.761 foo-coffee[2441:907] Errrror: Error Domain=com.facebook.sdk Code=5 "The operation couldn’t be completed. (com.facebook.sdk error 5.)" UserInfo=0x21051e70 {com.facebook.sdk:ParsedJSONResponseKey={
body = {
error = {
code = 1;
message = "An unknown error has occurred.";
type = OAuthException;
};
};
code = 500;
}, com.facebook.sdk:HTTPStatusCode=500}, (null)
以下函数发生错误:
- (void)getFbFields:(CLLocationDegrees)lat longitude:(CLLocationDegrees)lng {
NSString *fbquery = [NSString stringWithFormat:@"search?type=place¢er=%f,%f&distance=3000&fields=name,cover", lat, lng];
[FBRequestConnection
startWithGraphPath:fbquery
completionHandler:^(FBRequestConnection *connection,
id result,
NSError *error) {
if (!error) {
[self readFbResponse:result];
} else {
NSLog(@"Errrror: %@, %@", error, result);
}
}];
}
错误的可能性可能是FB“2013年7月10日迁移”。在这里,我在我的开发者帐户中有消息:没有访问令牌的图搜索端点。
在July 10, 2013 Migration的路线图中声明:
图表API搜索更改 除帖子,地点和页面外,所有搜索Graph API调用都需要用户访问令牌。应用访问令牌也可用于Post search Graph API调用。地方和页面搜索图形API调用仍然需要App访问令牌。将不再支持搜索应用程序。
所以我似乎需要“App access token”。如何最好地集成“应用程序访问令牌”?作为搜索网址中的参数还是以其他方式?
答案 0 :(得分:0)
您需要获得一个访问令牌并通过URL传递它。
我们用于获取此类访问令牌的C#代码为:
JsonObject response = (JsonObject) client.Get("oauth/access_token", new
{
client_id = __facebookAppID,
client_secret = __facebookAppSecret,
grant_type = "client_credentials"
});
string accessToken = response["access_token"] as string;
一旦我们获得了访问令牌,我们只需将其添加到URL中,例如:
path += "&access_token=" + accessToken;