2011-01-14 3 views
2

Я что-то разрабатываю с помощью API Google Книг, но я думаю, что это можно обобщить во многих API-интерфейсах Google.Как программно определить токен USERID в Google аккаунте с адреса Gmail без учетных данных?

Предположим, у меня есть приложение, у которого есть социальный аспект, где я могу добавить друзей и посмотреть их коллекцию Google Книги. В документах API говорится, что я могу получить чью-либо коллекцию, если я знаю их идентификатор пользователя, но я не могу найти способ получить ее программно. Единственное, что я могу ожидать от пользователя, - это адрес gmail своего друга (или вход в аккаунт Google, который для этих целей - одно и то же). Единственный способ, каким я могу получить его, - это URL-адрес веб-интерфейса для книг Google. Сделать так, чтобы пользователи делали это, это неясная форма пыток.

Кто-нибудь знает, возможно ли это в любой службе Google?

В частности, предположим, что у меня был адрес gmail: [email protected], могу ли я затем обратиться к некоторому сервису Google, чтобы получить идентификатор пользователя для этого пользователя? Идент это в основном очень большое количество (около 20 цифр)

+0

Где вы видите этот ID пользователя? Вы видели [это] (http://code.google.com/apis/gdata/docs/auth/overview.html)? – marcog

+0

@marcog Я предполагаю, что у вас есть адрес gmail. Когда вы вошли в систему, перейдите на страницу http://books.google.com/. С левой стороны вы увидите ссылку «Моя библиотека». Нажмите на нее. Теперь взгляните на адресную строку. Он должен иметь форму http://books.google.ca/books?uid=...&source=gbs_lp_bookshelf_list, где ... ваш USER_ID. Вы можете взять это число и использовать его в вызовах API. Вы можете дать этот номер кому-то другому, а _they_ можете использовать его в вызовах API, чтобы увидеть свою книжную полку. Я бы хотел получить доступ к книжным полкам моего друга, но программно. – ageektrapped

ответ

0

Вот similar question с, как olution/workaround от Ник Джонсон:

В настоящее время обходной путь, чтобы создать объект пользователя, храните его в datastore, и снова забрать его. Если сообщение соответствует действительной учетной записи Google , объект User в возвращаемом объекте будет иметь заполненное поле user_id .

+1

Creative. Но это не сработает для меня. Я не разрабатываю платформу, которая позволяет запускать код python или Java. И мое приложение не работает на AppEngine. Еще одна возможность, которую я пробовал, - это запросить одну услугу, которая может полагаться либо на адрес пользователя, либо на адрес gmail. Перейдите в адрес gmail и посмотрите, могу ли я получить идентификатор пользователя, но все они последовательно используют то, что вы им даете. – ageektrapped

+0

Напишите свой собственный сервис, который реализует это простейшее решение и позволяет вам называть его с любой платформы, над которой вы работаете. –

+0

Путь впереди вас. :) – ageektrapped