Как получить доступ для чтения к google.com/contacts с телефона Android? - PullRequest
3 голосов
/ 10 февраля 2010

В моем приложении для Android я хотел бы получить поле дня рождения с google.com/contacts, поскольку это поле не синхронизировано в приложении контактов для Android. Как я могу иметь доступ на чтение к контактам Google?

Я видел API контактов Google , я должен был его использовать? который из ? Портативная версия ?

Или есть простой способ чтения этих контактов, как это делает Android при синхронизации?

Заранее спасибо

Ответы [ 2 ]

3 голосов
/ 18 февраля 2010

Раньше был взломан аккаунт до того, как AccountManager был перезапущен, около года назад я создал тему для группы разработчиков Android, но она была удалена. Был недокументированный метод, к которому вам нужно было обратиться через рефлексию. Я не могу найти его где-нибудь сейчас, как Google удалил тему или что-то. Ниже я нашел что-то похожее, но это не то, что у меня было.

http://donpark.org/blog/2009/01/24/android-client-side-oauth

В худшем случае большинство устройств, которые сейчас отсутствуют, в конечном итоге получат 2.1. Таким образом, вы можете просто заставить их войти в систему, затем подтвердить и получить ключ авторизации от Google, а если они на 2.1, использовать AccountManager и не связывать их с учетными данными. что-то вроде ниже

WebRequest req = HttpWebRequest.Create(
@"https://www.google.com/accounts/ClientLogin?    accountType=GOOGLE&Email=them@gmail.com&Passwd=pass&service=gbase&source=sadboy");
WebResponse resp = req.GetResponse();

string all;
using (StreamReader sr = new System.IO.StreamReader(resp.GetResponseStream()))
    all = sr.ReadToEnd().Trim();

int auth = all.IndexOf("auth=");
string auth = all.Substring(auth, all.Length - auth);

https://developer.android.com/about/dashboards/index.html

1 голос
/ 15 февраля 2010

Это должно быть возможно начиная с Android 2.0 с использованием AccountManager.

Нет ни учебных пособий, ни примеров, у меня нет доступа к любому устройству> = 2.0, чтобы попробовать его.

См. http://code.google.com/p/android/issues/detail?id=1073#c28

Как я понимаю, у вас должна быть возможность получитьAuthToken для учетной записи Google и передать ее в заголовке авторизации, как здесь.

...