2015-08-28 5 views
0

Так я пытаюсь обернуть мою голову вокруг API Facebook для единства электронной почты, и я думаю, что я начинаю повесить его ... до этогоFacebook Graph Api в Unity не предоставление разрешения

FB.Login ("public_profile, user_photos, email", AuthCallBack); 

так, как вы можете видеть, что я, очевидно, попросить разрешения электронной почты, но когда я пытаюсь вызвать его в Unity

Dictionary<string, string> emailDict = new Dictionary<string, string>(){{"email", ""}}; 

     FB.API("me?fields=email", Facebook.HttpMethod.GET, FBGetEmail, emailDict); 

     print ("emailDict " + emailDict.Keys); 

Это только дает мне мой идентификатор пользователя. Я сделал некоторые дополнительные копаться в Graph Explorer, с тем же вновь сгенерированного маркер доступа, который я получил от приложения, которые были выявлены следующие

The field 'email' is only accessible on the User object after the user grants the 'email' permission. 

{"id": "952814180948",} 

поэтому мой вопрос ... Кто-нибудь знает // кто может видеть то, что я «Не делаете неправильно, чтобы не получить разрешение на электронную почту? Так как проблема, очевидно, находится в исходном запросе, когда генерируется токен доступа. Я знаю, что разрешения работают, поскольку я могу вытащить и использовать свой профиль pic .. просто не по электронной почте: '(

+0

Вы пытались удалить приложение из своего авторизованного списка в facebook? Затем снова запустите свое приложение, оно должно снова запросить разрешения, и новый должен быть добавлен. Я думаю, что один раз я столкнулся с этой проблемой ... ... Я попытался добавить разрешение «нравится» моему приложению и не работал до тех пор, пока не перешел на facebook и не удалил приложение из списка авторизованных приложений. затем я попробовал снова и «как» разрешения, отображаемые в списке. –

+0

Я только что попробовал это, повторно предоставил разрешения, но, увы, все равно нет электронной почты :( –

ответ

2

Итак, я понял это! Ответ расположен в одной строке в facebook В основном, при использовании токенов аутентификации в режиме редактора Unity, он позволяет вам «получить токен». Но этот сгенерированный токен имеет только некоторые разрешения по умолчанию.

Вам нужно на самом деле перейти к графическому проводнику, а вверху настройте приложение на ВАШЕ ПРИЛОЖЕНИЕ (это было не понятно, я думал, что он заставил вас перейти на страницу вашего приложения НЕ генерировать токены доступа для вашего приложения).

Как только я это сделал, мне удалось создать новые токены доступа с помощью разрешения, которые я хотел от u нажмите кнопку «Получить токен доступа» на странице проводника графиков.

Oish! Два целых дня, чтобы понять это.