2012-06-03 2 views
3

Я хочу проверить, понравилась ли мне моя страница или нет. Здесь я инициализирую запрос для списка подобных пользователей имеют ...Как проверить, нравится ли пользователю страница?

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 

if ([defaults objectForKey:@"FBAccessTokenKey"] && [defaults objectForKey:@"FBExpirationDateKey"]) 
{ 
    [self.facebook setAccessToken:[defaults objectForKey:@"FBAccessTokenKey"]]; 
    [self.facebook setExpirationDate:[defaults objectForKey:@"FBExpirationDateKey"]]; 
} 

if (![self.facebook isSessionValid]) 
{ 
    [self.facebook authorize:[[NSArray alloc] initWithObjects:@"publish_stream, user_likes", nil]]; 
} 
else 
{ 
[self.facebook requestWithGraphPath:@"me/likes" andParams:nil andHttpMethod:@"POST" andDelegate:self];  
} 

код выполняется в requestWithGraphPath. Однако он никогда не работает, я получаю: «Операция не может быть выполнена. (FacebookErrDomain error 10000.)».

+1

Почему вы используете POST для/меня/любит? – Igy

+1

Потому что я не знаю, как это сделать ... – SmallChess

ответ

6

Вам необходимо запрос добраться до для подобных не POST поэтому ваша проблема, я думаю, что здесь:

[self.facebook requestWithGraphPath:@"me/likes" andParams:nil andHttpMethod:@"POST" andDelegate:self]; 

это должно быть:

[self.facebook requestWithGraphPath:@"me/likes" andParams:nil andHttpMethod:@"GET" andDelegate:self]; 

Это даст вам полный список нравится. Если вы хотите, чтобы найти один, как, впрочем, похоже, что вы должны будете сделать запрос FQL к:

https://api.facebook.com/method/fql.query?query=SELECT+user_id%2Cobject_id%2C+post_id+FROM+like+WHERE+user_id%3Dme%28%29%20and%20object_id=<OBJECT_ID_TO_CHECK>&access_token=<YOUR_ACCESS_TOKEN> 

Выполнить это через IOS SDK, как это говорится: https://stackoverflow.com/a/6372236 и если вы получите что-нибудь обратно пользователю это понравилось. Позвольте мне знать, если это помогает. Благодаря!

Редактировать: Вы действительно можете сделать один запрос с графиком api. Это как это:

https://graph.facebook.com/me/likes/<OBJECT_ID> 

Так просто хлопнуть свой идентификатор объекта в запросе:

[self.facebook requestWithGraphPath:@"me/likes/<OBJECT_ID>" andParams:nil andHttpMethod:@"GET" andDelegate:self]; 

и вы должны быть хорошо.

+0

Да, я работал, используя ваш подход. – SmallChess

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