2016-05-29 14 views
0

PHPクライアントライブラリ1.1.7を使用してGoogle APIでプログラミングするのは比較的新しいです。私は現在、ドメインと私はそれを行うために使用しているコード内のすべてのユーザーの一覧を取得しようとしていることは以下の通りです:PHPクライアントライブラリを使用してGoogle Appsアカウントの全ユーザーを取得

$service = new Google_Service_Directory($client); 

$optParams = array(
    'customer' => 'my_customer', 
    'maxResults' => 500, 
    'orderBy' => 'email', 
    ); 

$results = $service->users->listUsers($optParams); 
$users = $results->getUsers(); 

    foreach($users as $user) { 
    $usersemails = $user->getPrimaryEmail(); 
    echo $usersemails.'<br>'; 
    } 

問題は、私はこのコードを使用するとき、私は唯一の最高を得ることです500人のユーザーの私は次のように述べているブラウザの画面を取得しています。このコードを使用しようとすると、今

$service = new Google_Service_Directory($client); 

$optParams = array(
    'customer' => 'my_customer', 
    'maxResults' => 500, 
    'orderBy' => 'email', 
    'pageToken' => NULL, 
); 

$results = $service->users->listUsers($optParams); 
$pageToken = $results->getNextPageToken(); 
$users = $results->getUsers(); 

while($pageToken); 

    foreach($users as $user) { 
    $usersemails = $user->getPrimaryEmail(); 
    echo $usersemails.'<br>'; 
} 

:私はので、私はこのコードを使用してみました次のページのトークンを使用する必要があることを把握します」 504ゲートウェイのタイムアウト。サーバーが応答しませんでした。

私が使用しているコードに問題がありますか?これは私が使用しているサーバーに問題がありますか?この問題に関する洞察は大いに感謝されます。前もって感謝します。

答えて

0

何度もチェックしたところ、問題が私がコードを正しく書いていないことがわかった。私は自分のコードを変更して、今は正常に動作します。他の誰かが同じ問題を抱えている場合は、おそらくこれが役に立つかもしれません。これは最終コードです:

$service = new Google_Service_Directory($client); 

$pageToken = NULL; 
$optParams = array(
    'customer' => 'my_customer' 
); 

try { 
    do { 
    if ($pageToken){ 
    $optParams['pageToken'] = $pageToken; 
    } 

$results = $service->users->listUsers($optParams); 
$pageToken = $results->getNextPageToken(); 
$users = $results->getUsers(); 

foreach($users as $user) { 
    $usersemails = $user->getPrimaryEmail(); 
    echo $usersemails.'<br>'; 
} 

} while($pageToken); 

} catch (Exception $e) { 
    print 'An error occurred: ' . $e->getMessage(); 
} 
関連する問題