1

Прежде чем начать, я должен сказать, что я прочитал и попробовал множество предлагаемых решений для своей проблемы, и никто из них не решил его, поэтому я собираюсь снова спросить и быть очень конкретным.Почему я не могу получить доступ к контактам в facebook через API-интерфейс koala?

Я занимаюсь интеграцией входа в facebook в приложение rails 4 с использованием omniauth 1.1.4 omniauth-facebook 1.4.0 с koala 1.7.0rc1 для взаимодействия с API-интерфейсом графа. Я делаю это точно так же, как в this.

Моя проблема заключается в том, что, когда я прошу пользователь facebook друг через коалу, как так

@current_friends = graph.get_connections('me', 'friends?fields=location,name,id') 

возвращаемые друзья хэш не содержат location поля. Я попробовал обновить мой кофейный вход, например:

$('#fb_login').click (e) -> 
    e.preventDefault() 
    FB.login ((response) -> 
    window.location = '/auth/facebook/callback' if response.authResponse), scope: "friends_location" 

но это ничего не делал. Тогда я попытался, с модификацией CoffeeScript и без, передавая параметр области действия в моем facebook OmniAuth инициализаторе:

provider :facebook, ENV['FACEBOOK_APP_ID'], ENV['FACEBOOK_APP_SECRET'], :scope => 'friends_location' 

никакой разницы. Я попытался полностью удалить кофейник и разрешить полную переадресацию; Я попытался переключить поле Auth Token Parameter на консоли facebook моего приложения между сервером и клиентской стороной; Я пробовал в принципе каждую комбинацию этих вещей, но все равно ничего. Наконец, следует отметить, что, когда я называю

graph.get_connections('me', 'permissions') 

возвращаемый список разрешений имеет friends_location=1. Так, что происходит?

+0

был мой ответ был полезен? –

ответ

0

Вы должны добавить к области действия read_friendlists разрешения:

provider :facebook, ENV['FACEBOOK_APP_ID'], ENV['FACEBOOK_APP_SECRET'], :scope => 'read_friendlists, friends_location' 
Смежные вопросы