Logowanie do systemu Mac OS X na Facebooku nie powiodło się - nie przechowywano remote_app_id dla aplikacji
Próbuję użyć nowych możliwości ACAccountStore w systemie Mac OS X 10.8, aby zalogować się przez Facebook, ale pojawia się błąd:
Serwer Facebooka nie mógł spełnić tego żądania dostępu: nie przechowywano remote_app_id dla aplikacji
Gdy kod wykonuje wiadomość requestAccessToAccountsWithType, pyta mnie o dostęp do Facebooka (na co pozwalam) i mam poświadczenia Facebooka przechowywane w moich ustawieniach. Mam także inną ścieżkę kodu dla starszych wersji systemu OS X, która loguje się na Facebooku za pomocą kontrolki WebView. Działa z tym samym APP_ID. Więc powinienem mieć poprawnie skonfigurowaną aplikację w ustawieniach programisty Facebooka. Czy brakuje mi innej konfiguracji? Wyszukuję w Internecie hasło „remote_app_id” i otrzymuję pusty zestaw.
ACAccountStore *account = [[ACAccountStore alloc] init];
ACAccountType *accountType = [account accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierFacebook];
NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys: FB_APP_ID, ACFacebookAppIdKey, [NSArray arrayWithObjects:@"email", nil], ACFacebookPermissionsKey, ACFacebookAudienceFriends, ACFacebookAudienceKey, nil];
[account requestAccessToAccountsWithType:accountType options:options completion:^(BOOL granted, NSError *error) {
if (granted) {
NSArray *accountList = [account accountsWithAccountType:accountType];
for (ACAccount *thisAccount in accountList) {
NSLog(@"Found account: %@", [thisAccount accountDescription]);
}
}
else {
NSLog(@"Not granted because: %@", [error localizedDescription]);
}
}];
przydatna uwaga dla twórców iPhone'a: pokazać ten problem w 100%:Jeśli chodzi o ten sam problem na iPhonie (ta strona jest głównym miejscem lądowania w Google): Problem polega na tym, że na iPhonie, przejdź do Ustawienia, lewe menu Facebook, a następnie po prawej nazwie użytkownika / haśle - zaloguj się do Facebooka. Więc to jest „Ustawienia logowania na Facebooku”. Jeśli iPhone jest w rzeczywistościzalogowany do FB w „Ustawienia Facebook Login” wtedy problem się pokaże. Jeśli wylogujesz się jawnie na „Ustawienia Facebook Login” (a może nawet odinstalujesz FacebookApp), problem nie będzie widoczny.