Как получить доступ для чтения к google.com/contacts с телефона Android?

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

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

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

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


person tbruyelle    schedule 10.02.2010    source источник


Ответы (2)


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

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 protected]&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

person Patrick Kafka    schedule 18.02.2010

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

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

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

Насколько я понимаю, вы должны иметь возможность получитьAuthToken для учетной записи Google и передать его в заголовке авторизации, как здесь Авторизация: GoogleLogin auth=yourAuthToken

person skyman    schedule 15.02.2010