1

Google People API を使用してユーザーの接続を取得しています。結果にはメール アドレスや電話番号などが含まれていないため、people.connections.list を呼び出して合計 50 件の結果を取得した後、people:batchGet をポーリングしています。ユーザーのデータをフェッチします (一度に最大 50 人のユーザーしか受け入れません)。これは問題なく動作し、結果を数回ループした後、すべての連絡先をインポートできます。すごい!

しかし、このセットアップとループの必要性 (何千もの接続を持つユーザーもいます) のために、私は (基本的に) 完了するまで何度もリダイレクトするプロセスを使用しています。これも問題なく動作していますが、リダイレクト画面にプログレス バーを表示したいと考えています。これを行うには、ユーザーの合計接続数を知る必要があります。people.connections.list が返す可能性のある結果の合計数を判断する方法が見つからないようです (フィルターまたは同期トークンが渡されない場合)。people.connections.list でループオーバーする必要がある合計接続数を特定する方法を知っている人はいますか?

4

2 に答える 2

0

どの言語を使用していますか? これはJavaでうまくいきます。

// Get the user's connections
ListConnectionsResponse r = peopleService.people().connections()
        .list("people/me")
        .setPageSize(500)
        // specify fields to be returned
        .setRequestMaskIncludeField("person.names,person.emailAddresses")
        .execute();

List<Person> connections = r.getConnections();
System.out.println(connections.size());

次の URL のようなものを使用する場合、含めるフィールドを追加することもできます。

https://people.googleapis.com/v1/people/me/connections?pageSize=500&requestMask.includeField=person.names%2Cperson.emailAddresses&key={YOUR_API_KEY}
于 2016-04-26T09:17:58.273 に答える