2013-03-11 4 views
0

Я обновляю фоновую версию SDK 3.0 до 3.2. Я сделал вход в facebook через facebook SDK 3.2 и работает нормально. Я хотел бы выполнить fql, чтобы получить альбом пользователя. Нижеприведенный код работает для получения фотографий в facebook, но не для альбомов из-за прав пользователей. Я поражен тем, как установить разрешение «user_photos» для facebook sdk 3.2. Какие-либо предложения? Заранее спасибо.Как установить права пользователя для ios facebook sdk 3.2

NSString *query = 
@"SELECT pid, src_small, src_big, src FROM photo WHERE aid IN " 
@"SELECT aid FROM album WHERE owner = me() ORDER BY created DESC LIMIT 50"; 

NSDictionary *queryParam = 
[NSDictionary dictionaryWithObjectsAndKeys:query, @"q", nil]; 

[FBRequestConnection startWithGraphPath:@"/fql" 
          parameters:queryParam 
          HTTPMethod:@"GET" 
         completionHandler:^(FBRequestConnection *connection, 
              id result, 
              NSError *error) { 
          if (error) { 
           NSLog(@"Error: %@", [error localizedDescription]); 
          } else { 
           NSLog(@"Result: %@", result); 
          } 
         }]; 

ответ

1

Вы хотите сказать, что приведенный выше код работает для получения фотографий, а это значит, что у вас уже есть разрешение «user_photos», необходимый для извлечения альбомов пользователя (это то же самое разрешение для обоих, см Graph API documentation).

Если это действительно так, вы можете получить альбомы легко с помощью следующего запроса:

SELECT aid, name, link, cover_pid 
FROM album 
WHERE owner = me() 

В противном случае, если вы действительно не хватает разрешения это означает, что вы не можете получить фотографии пользователя или. В этом случае вам придется попросить пользователя выполнить повторную авторизацию с соответствующим разрешением. Вы можете просто вызвать обычные методы авторизации FBSession с новым разрешением, и он будет запрашивать у пользователя его.

В любом случае, я бы посоветовал использовать Graph API Explorer для проверки ваших запросов FQL, это поможет вам легко узнать, в чем проблема.

Смежные вопросы