Android 핸드셋에서 Google.com/Contacts에 대한 읽기 액세스 방법은 무엇입니까?
-
19-09-2019 - |
문제
Android 애플리케이션에서는 Android Contacts 응용 프로그램에서 동기화되지 않으므로 Google.com/contacts에서 생일 필드를 검색하고 싶습니다. Google 연락처에 대한 읽기 액세스 방법은 무엇입니까?
나는 봤다 Google은 API에 연락합니다, 나는 그것을 사용해야 했습니까? 어느 것 ? 그만큼 휴대용 버전 ?
아니면 Android가 동기화 될 때와 같이 이러한 연락처를 읽는 간단한 방법이 있습니까?
미리 감사드립니다
해결책
AccountManager가 시작되기 전에 해킹이 있었는데 약 1 년 전에 Android Developer Group에서 스레드를 시작했지만 제거되었습니다. 반사를 통해 액세스 해야하는 문서화되지 않은 방법이있었습니다. 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);
다른 팁
Android 2.0이 AccountManager를 사용하여 가능해야합니다.
튜토리얼이나 샘플이 없으므로> = 2.0 장치에 액세스 할 수 없습니다.
보다 http://code.google.com/p/android/issues/detail?id=1073#c28
이해할 수 있듯이 Google 계정에서 Getauthtoken을 얻을 수있어서 권한 부여 헤더에서 여기에서 권한 부여 : Googlelogin Auth = YourAuthtoken으로 전달할 수 있어야합니다.