gdataライブラリを使用してGoogleアカウントの名字を取得したいと考えています。私は認証トークンを持っている(私はアンドロイドデバイスからそれを取る - 私のJavaサーブレットに送信し、最初に、最後に、表示名とprovider_uid(provider_uidは、https://www.google.com/accounts/o8/id?id=AItOawmyn ...の形式です) 。gData:アカウントを取得する(自己連絡)姓と名
私はコンタクト(成功せずに)このようにフィードを使用:
System.out.println("ID: " + feed.getSelf().getEntries().get(0).getId());
、
public String tryGoogleAuthentication(String auth_token){
ContactsService contactsService = new ContactsService("...");
contactsService.setUserToken(auth_token);
//contactsService.setAuthSubToken(auth_token);
ContactFeed feed = null;
try {
feed = contactsService.getFeed(new URL("https://www.google.com/m8/feeds/contacts/" + "[email protected]" + "/full?max-results=10000"), ContactFeed.class);
} catch (IOException e) {
e.printStackTrace();
return CONST.GOOGLE_AUTH_INVALID_TOKEN;
} catch (ServiceException e) {
e.printStackTrace();
return CONST.GOOGLE_AUTH_INVALID_TOKEN;
} catch (NullPointerException e) {
e.printStackTrace();
return CONST.GOOGLE_AUTH_INVALID_TOKEN;
}
if (feed == null)
return "";
String externalId = feed.getId();
Person person = feed.getAuthors().get(0);
String email = person.getEmail();
String name = person.getName();
String nameLang = person.getNameLang();
String extensionLocalName = person.getExtensionLocalName();
String uri = person.getUri();
System.out.println("externalId: " + externalId);
System.out.println("email: " + email);
System.out.println("name: " + name);
System.out.println("nameLang: " + nameLang);
System.out.println("extension local name: " + extensionLocalName);
System.out.println("URI: " + uri);
System.out.println(feed.getSelf().getEntries().get(0).getTitle().getPlainText());
return CONST.STATUS_OK;
}
また意志出力:
ID: http://www.google.com/m8/feeds/contacts/someEmail%40gmail.com/base/c....
が、私はこのような何かしたい:
をhttps://www.google.com/accounts/o8/id?id=AItOawmyn...
私はこれを既存のデータベースに挿入する必要があります。
私はそのアカウントの情報のみを希望します。連絡先の情報ではありません。
おかげで、
アレックス
まだ誰も姓と名義を知りません。 –