Я пытаюсь внедрить логин / авторегистрацию в фейсбуке для сайта.Возникла проблема с запрошенными областями.
Сначала я попытался использовать область «по умолчанию».Согласно официальной документации, он предоставляет доступ к подмножеству структуры UserData.Это задокументировано здесь:
https://developers.facebook.com/docs/facebook-login/permissions/#reference-default
Однако, если я пытаюсь сделать это, я получаю ошибку:
Invalid scope: default
Я также пытался использоватьсначала что-то простое.Например, scope = "id".Затем я получаю эту ошибку:
Invalid scope: id
Если я пытаюсь использовать scope = "email first_name last_name имя_символа name picture", тогда:
Invalid scope: first_name
Единственное, что до сих пор работало, это scope = "email", но этого недостаточно для автоматической регистрации.
Более того, в документации ясно сказано, что" Все разрешения, кроме полей общедоступного профиля по умолчанию, требуют, чтобы вход в Facebook и клиентский вход OAuth были включены для вашего приложения, чтобы разрешить пользователям илиСтраницы, чтобы предоставить вашему приложению эти разрешения. "(вы можете прочитать это в верхней части https://developers.facebook.com/docs/facebook-login/permissions/).Таким образом, кажется, что области не являются недействительными, потому что у меня не включена регистрация Facebook для моего приложения.Они недействительны по какой-то другой причине - может быть, потому что не существует?
Интересно, почему эти области документированы, если они недействительны?И где я могу найти действительные?
Примечание: похоже, что Facebook не следует RFC 6749. При возникновении ошибки сервер Oauth2 (https://tools.ietf.org/html/rfc6749#section-4.1.2, точнее, ошибка 4.1.2.1).ответ ).Но Facebook не делает этого.Вместо этого он отображает всплывающее окно на facebook.com, и если я нажимаю «ОК» в этом окне, он входит в бесконечный цикл и снова и снова отображает одно и то же сообщение: «Вы не вошли в систему».(С чего бы это?)
ОБНОВЛЕНИЕ : Несмотря на то, что я использовал область = только электронная почта, API / me вернул все поля, включая first_name, last_name, email и изображение профиля.Так что, возможно, это не области, а имена полей.Но до сих пор неясно, какие области доступны?Документация все еще кажется плохой.В нем должно быть четко указано, какие термины являются областями, которые являются именами полей из структур данных.И полный список областей все еще отсутствует в документах (или, может быть, есть список, просто я не смог его найти?)