2014-11-16 5 views
0

Так что я использую SDK для Facebook (v3.16) в своем приложении iOS, и все работает нормально на стороне входа. Тем не менее, я пытаюсь добавить функцию общих друзей, где пользователи могут видеть, сколько общих друзей они обмениваются с другими пользователями через Facebook. Приложение предназначено для студентов колледжа, поэтому большинство моих пользователей разделяют много общих друзей. Я начал, пытаясь понять это в коде, и у меня появились некоторые странные цифры. Почти все взаимные отсчеты друга были в 0.Facebook API взаимный запрос и графический проводник

Тогда я пошел в Graph Explorer, API, и с помощью контекстного facebook ID из моего приложения, вместе с маркером доступа моего приложения, я вошел в это в тестер:

--->/v2.2/10152467114358576?fields=context.fields(mutual_friends) 

Таким образом, идентификатор имеет ограниченный идентификатор Facebook для тех, кто не является моим другом на facebook, но принял привилегию user_friends в моем приложении. Я другой пользователь приложения, а также принял привилегию user_friends. Результат выше линии был:

{ 
"id": "10152467114358576" 
} 

Когда это должно быть больше что-то вроде этого (у нас есть 10 общих друзей, но только один из них на мое приложение):

{ 
"context": { 
    "mutual_friends": { 
    "data": [ 
    { 
     "id": "XXXXX", 
     "name": "Mutual Friend on my App" 
    } 
    ], 
    "paging": { 
    "cursors": { 
     "before": "MTAyMDQyMTAxNjA2NDYzOTU=", 
     "after": "MTAyMDQ0MjI2NzMwMDA5MjI=" 
    } 
    }, 
    "summary": { 
    "total_count": 10 
    } 
} 
}, 
"id": "10152467114358576" 
} 

Есть что-то я делаю неправильно?

+0

Вы уже поняли это? Для меня взаимные действия работают, но взаимные друзья не дают никакого результата ... – thomasf1

+0

См. Принятый ответ. – BHendricks

+0

Спасибо за комментарий и ответ, вы дошли до того, что, по крайней мере, получили общие друзья в подходящих обстоятельствах или вообще отказались от этой функции? – thomasf1

ответ

0

Оказывается, что я пытаюсь сделать, это просто не поддерживается API. Я отправил ошибку в Facebook, и получил такой ответ:

The docs [1] say "A valid user access token with user_friends permission is required to view the mutual friends of other friends using the app." 
This implies that the session user, and the person against whom you are checking mutual friendships have to be friends as well. 

Что это означает, так как два пользователя на моем приложении не обязательно друзья, некоторый взаимный друг на счет будет там, и многие будут 0.

-1

В отличие от предыдущей версии API-интерфейсов Graph, в версиях v2.0 и выше, facebook показывает края сторон только тогда, когда оба пользователя получили доступ к вашему приложению. Таким образом, пользователи, которые не получили разрешения на ваше приложение, могут не отображаться в списке общих друзей.

+0

Да, но в сводке должны быть все пользователи, общие друзья, нет ? Нет резюме – BHendricks

+0

Я также прямо заявил в своем вопросе, что оба пользователя приняли мою привилегию друзей пользователя – BHendricks

0

Просто угадать, поскольку у меня нет доступа к среде iOS dev, но то, что бросается в глаза, заключается в том, что вы используете старую версию SDK iOS с наиболее актуальными вызовами Graph API (v2.2). Я предлагаю вам попробовать обновить IOS SDK до самой последней версии и снова протестировать.

  • Дата выпуска IOS SDK: 10 июля 2014
  • Дата выпуска Graph API v2.2: 30 октября 2014
Смежные вопросы