Как получить электронную почту пользователя от Facebook Graph Api? - PullRequest
0 голосов
/ 29 сентября 2011

Я запутался здесь,

Я пытаюсь получить данные пользователя с помощью Facebook Api, я запрашиваю разрешение электронной почты, используя scope=email, например:

https://www.facebook.com/dialog/oauth?client_id=MY_APP_ID&redirect_uri=MY_URI&scope=email

В окне подтверждения доступа Facebook я вижу, что мое приложение запрашивает доступ к электронной почте, но даже после этого, когда я запрашиваю Graph Api, оно не возвращает электронное письмо (оно возвращает все остальные поля) Если я сделаю запрос, как это:

https://graph.facebook.com/me?fields=id,name,email&access_token=MY_TOKEN

возвращает только идентификатор и имя.

Ответы [ 5 ]

1 голос
/ 29 сентября 2011

Спасибо всем, ребята, за уделенное время.Он начал работать сам после того, как я удалил доступ к приложению из Моей учетной записи в Facebook, а затем снова попытался получить доступ.

0 голосов
/ 28 сентября 2016

Я не уверен, если это для приложения, если так, у меня была та же проблема, пока я не опубликовал свое приложение.Проверьте документацию, чтобы узнать, относится ли она к вам:

https://developers.facebook.com/apps/{your идентификатор приложения} / review-status /

После подтверждения появится электронное письмо и другая конфиденциальная информация..

0 голосов
/ 18 марта 2016

Проверьте, есть ли у вас разрешение электронной почты, или пользователь снял флажок при подтверждении запроса, который вы подняли с URL: facebook.com/dialog/oauth?client_id=MY_APP_ID&redirect_uri=MY_URI&scope=email. Вы можете проверить, используя https://graph.facebook.com/me?fields=permissions&access_token=[TOKEN]. Он должен дать вам ответ с уведомлением о том, предоставлено ли разрешение по электронной почте или нет, как показано ниже:

{
    "permissions":{
        "data": [
        {
            "permission": "user_friends",
            "status": "granted"
         },
         {
            "permission": "email",
            "status": "granted"
         },
         {
            "permission": "public_profile",
            "status": "granted"
         }
      ]
   },
   "id": "10207905751235096"
}

проверьте инструмент просмотра Facebook для получения дополнительной информации: https://developers.facebook.com/tools/explorer/

0 голосов
/ 29 сентября 2011

Используйте для этого FQL API:

запрос:

select contact_email from user where uid=me()

Вызов:

https://api.facebook.com/method/fql.query?format=json&query=select+contact_email+from+user+where+uid%3Dme%28%29&access_token=[access_token]
0 голосов
/ 29 сентября 2011

Попробуйте использовать c # sdk, с этим легко. В есть несколько примеров .

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...