1

Google Contacts API のドキュメントが正しくないことを示していると思われる興味深いケースに遭遇しました。

私がやろうとしているのは、この URL を使用してアプリに既に許可を与えている認証済みユーザーの連絡先情報を取得することです。

https://www.google.com/m8/feeds/contacts/default/full/contactId

呼び出しの結果は常にステータス 404 です。ただし、完全なアドレス帳を取得しようとすると、問題なく動作しているようです。

https://www.google.com/m8/feeds/contacts/default/full

それは間違って文書化されていますか、それとも私は何か間違っていますか? 認証されたユーザーの連絡先情報を取得できずにアドレス帳全体を取得できるのは意味がありません。

私が使用しているスコープは次のとおりです。

https://www.google.com/m8/feeds

ありがとう、ジャック


追加情報。API ドキュメントには、次のことが示されています。

public static ContactEntry retrieveContact(ContactsService myService) {
  ContactEntry contact =
      myService.getEntry(new URL("https://www.google.com/m8/feeds/contacts/default/full/contactId"),
          ContactEntry.class);
  // Do something with the contact.
  return contact;
}

これは、「contactId」キーワードを URL の一部として使用する必要があることを意味しているようです。それは私にはうまくいきません。


この質問を明確にするために。目標は、データを複数回フェッチする回避策を実行することなく、現在認証されているユーザーに関する情報を取得することです。最初にすべての連絡先を取得するという回避策を使用しても、認証されたユーザーの contactId が返されることはありませんでした。

4

1 に答える 1

1

それはあなたが何を得ようとしているのかによります。https://www.google.com/m8/feeds/contacts/default/fullを呼び出すと、すべての連絡先が検索されます。連絡先を取得したら、https://www.google.com/m8/feeds/contacts/default/full/ {contactID} を使用して、単一の連絡先のデータをリクエストできます。{contactID} は最後の部分です完全な連絡先リストのフィールドの一部。http://www.google.com/m8/feeds/contacts/ {user email}/base/{contact id}のようになります。

そのため、完全な連絡先リストを取得すると、1 つの連絡先の ID フィールドは次のようになります: http://www.google.com/m8/feeds/contacts/{user email}/base/{contact id} . 最後の {contact ID} を通話の末尾に追加すると (https://www.google.com/m8/feeds/contacts/default/full/{contactID} )、連絡先が返されます。その連絡先だけの情報。

于 2012-07-03T00:01:42.057 に答える