2013-06-18 3 views
0

с этой недели у моего приложения iOS есть проблема с доступом к FB (через iOS FB SDK). После ошибка:iOS SDK OAuthException HTTP Код ошибки 500

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&center=%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 "10 июля 2013 Migration". Здесь у меня на моей учетной записи разработчика сообщение: Конечная точка поиска графика без токена доступа.

В Дорожной карте July 10, 2013 Migration говорится: изменения

Graph API поиска маркеров доступа пользователя будет требоваться для всех вызовов поиска Graph API, за исключением сообщений, Места и Страницы. Токены доступа к приложениям также могут использоваться для вызовов API Graph Post post. Поиск по адресам и страницам Графические API-вызовы по-прежнему требуют токена доступа к приложениям. Поиск приложений больше не поддерживается.

Так что кажется, что мне нужен токен доступа к доступу. Как лучше всего интегрировать «токен доступа к приложениям»? Как параметр в URL поиска или по-другому?

ответ

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; 
Смежные вопросы