2013-09-25 3 views
2

Мы пытаемся предоставить возможность пользователю Glass запрашивать электронное письмо, отправляемое им с карты временной шкалы. На уведомляют обратного вызова сервлета, мы пытаемся следующие действия для получения адреса электронной почты пользователя:Получить зарегистрированный в Google Glass адрес электронной почты пользователя?

String userId = notification.getUserToken(); 
    Credential credential = AuthUtil.getCredential(userId); 
    Mirror mirrorClient = MirrorClient.getMirror(credential); 
    Contact contact = MirrorClient.getContact(credential, userId); 

Мы не получаем результат обратно при получении электронной почты отключения объекта UserInfo от пользователя с проверкой подлинности. Наше приложение имеет следующие варианты областей на сервер приложений:

"https://www.googleapis.com/auth/glass.timeline " 
"https://www.googleapis.com/auth/glass.location " 
"https://www.googleapis.com/auth/userinfo.profile " 
"https://www.googleapis.com/auth/userinfo.email " 
"https://www.googleapis.com/auth/contacts" 

Are мы позволили получить адрес электронной почты, прошедшей проверку подлинности пользователя, есть разрешение мне не хватает или есть еще одно средство, с помощью которого на запрос, что данные?

+0

Вы можете выяснить, какой язык вы используете, и какие именно библиотеки ты используешь? – Prisoner

+0

Можете ли вы также подтвердить, откуда вы получаете объект Credential, и что это объект учетных данных для аутентифицированного пользователя? – Prisoner

+0

Мы использовали проект стартера Java, использующий зависимость Maven от google-api-services-mirror. Мы используем учетные данные Google из своей клиентской библиотеки Java OAuth2. До сих пор у нас не было никаких проблем с аутентификацией, и мы смогли создать целые сроки и получить пользовательские адреса. –

ответ

1

Вызов getContact, который вы делаете, не имеет никакого отношения к электронному адресу пользователя. Вы можете прочитать о том, что Контакт имеет в виду здесь:
https://developers.google.com/glass/contacts

Чтобы получить адрес электронной почты пользователя, я успешно использовал один и тот же токен аутентификации, используемый для авторизации зеркало API приложение Glass с добавлением объема вы упоминаете в называют этот URL:
https://www.googleapis.com/userinfo/email?alt=json

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

Хотя я также только что получил UserService Свойства почтового от Appengine до того, как хорошо, что будет проще, если вам случится быть запущен на AppEngine:
https://developers.google.com/appengine/docs/java/javadoc/com/google/appengine/api/users/UserService

+0

Мусор! Это полностью сработало. Теперь мы используем API Mirror для возврата аутентифицированного Credential, затем мы используем accessToken из этого объекта, чтобы сделать GET-вызов по указанному вами URL-адресу, и он отлично работает. Большое вам спасибо за помощь в этом @ lance-nanek! –

0

Таким образом, вопрос сводится к «Почему я не получаю контактную информацию для этого идентификатора пользователя, которую я отправляю в службу зеркального отображения Google?»

Служба Mirror предоставляет только контактные данные для контактов, которые добавила ваша посуда. См. https://developers.google.com/glass/contacts для получения дополнительной информации о контактах в стекле и о том, как добавить контакты. Если вы уже не добавили Mirror Contact с этим userId, вы ничего не получите.

Служба Mirror не обеспечивает прямой доступ к информации из userinfo.info или userinfo.email. Сначала вам нужно будет его использовать, используя библиотеки OAuth2, если вы хотите добавить их в качестве контакта для стекла.

+1

Спасибо @ Prisoner! Благодаря вашему пониманию API контактов и помощи @LanceNanek, указывая нам на правильный сервис, мы смогли это решить. Очень признателен! –

+0

Рад, что мы смогли помочь @DayelOstraco.Я уверен, что мы оба по достоинству оценим и проголосовать. {: Получайте удовольствие от своей посуды! – Prisoner

Смежные вопросы