3

在我的 android 应用程序中,我想从 google.com/contacts 检索生日字段,因为该字段在 android 联系人应用程序中不同步。我怎样才能拥有对谷歌联系人的读取权限?

我看到了Google 联系人 API,我必须使用它吗?哪一个 ?便携

或者有没有一种简单的方法来读取这些联系人,就像 Android 在同步时所做的那样?

提前致谢

4

2 回答 2

3

在 AccountManager 被重新释放之前曾经有一个 hack,大约一年前我在 android 开发者组上发起了一个线程,但它已被删除。您必须通过反射访问一个未记录的方法。我现在似乎在任何地方都找不到它,就像谷歌已经删除了线程或其他东西。我在下面找到了类似的东西,但这不是我工作的那个。

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

在最坏的情况下,大多数现在已经推出的设备最终应该会获得 2.1。所以你可以让他们登录然后验证并从谷歌获取身份验证密钥,如果他们在 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

于 2010-02-18T03:06:26.723 回答
1

从 android 2.0 开始使用 AccountManager 应该是可能的。

没有教程也没有示例,我无法访问任何 >=2.0 的设备来试用它。

请参阅http://code.google.com/p/android/issues/detail?id=1073#c28

据我了解,您应该能够获取 Google 帐户的 AuthToken 并将其传递到授权标头中,如下所示授权:GoogleLogin auth=yourAuthToken

于 2010-02-15T19:09:28.427 回答