如何在Google API PHP客户端版本2.2.2中设置curl超时
How to set curl timeout in Google API PHP client version 2.2.2
我正在尝试在脚本中设置默认的 curl 超时,以便使用目录 api 批量更新用户。在 curl 连接超时之前,只添加了少数用户。
我有 但它不适用于 API v2.2.2
有人可以告诉我如何使用 php 更新 curl 超时设置吗?
谢谢。
代码如下:
$groupEmail = "my group email";
require_once realpath(dirname(__FILE__).'/vendor/autoload.php');
$client = new Google_Client();
$client->setAuthConfig('my-config.json');
$client->useApplicationDefaultCredentials();
$client->setScopes(array('https://www.googleapis.com/auth/admin.directory.user.readonly',
'https://www.googleapis.com/auth/admin.directory.group'));
$client->setSubject('user being impersonated');
$service = new Google_Service_Directory($client);
try {
//try something
for($i=1;$i<=1000;$i++)
{
$addThese[] = "something".$i."@gmail.com";
}
//EXECUTE ADDITIONS AND REMOVEALS
$client->setUseBatch(true);
$batch = new Google_Http_Batch($client);
foreach($addThese as $addThis)
{
$member = new Google_Service_Directory_Member(array('email' => $addThis,
'kind' => 'admin#directory#member',
'role' => 'MEMBER',
'type' => 'USER'));
$batch->add($service->members->insert($groupEmail, $member));
}
$result = $batch->execute();
} catch (Exception $e) {
// do something about the error
//echo "Error: $e";
}
试试这个:
$client->setConfig('CURLOPT_CONNECTTIMEOUT', 100);
$client->setConfig('CURLOPT_TIMEOUT', 1000);
请记住,可能的问题可能在于它们的最大执行时间(如果我记得 3 到 5 分钟之间的话)
我正在尝试在脚本中设置默认的 curl 超时,以便使用目录 api 批量更新用户。在 curl 连接超时之前,只添加了少数用户。
我有
有人可以告诉我如何使用 php 更新 curl 超时设置吗?
谢谢。
代码如下:
$groupEmail = "my group email";
require_once realpath(dirname(__FILE__).'/vendor/autoload.php');
$client = new Google_Client();
$client->setAuthConfig('my-config.json');
$client->useApplicationDefaultCredentials();
$client->setScopes(array('https://www.googleapis.com/auth/admin.directory.user.readonly',
'https://www.googleapis.com/auth/admin.directory.group'));
$client->setSubject('user being impersonated');
$service = new Google_Service_Directory($client);
try {
//try something
for($i=1;$i<=1000;$i++)
{
$addThese[] = "something".$i."@gmail.com";
}
//EXECUTE ADDITIONS AND REMOVEALS
$client->setUseBatch(true);
$batch = new Google_Http_Batch($client);
foreach($addThese as $addThis)
{
$member = new Google_Service_Directory_Member(array('email' => $addThis,
'kind' => 'admin#directory#member',
'role' => 'MEMBER',
'type' => 'USER'));
$batch->add($service->members->insert($groupEmail, $member));
}
$result = $batch->execute();
} catch (Exception $e) {
// do something about the error
//echo "Error: $e";
}
试试这个:
$client->setConfig('CURLOPT_CONNECTTIMEOUT', 100);
$client->setConfig('CURLOPT_TIMEOUT', 1000);
请记住,可能的问题可能在于它们的最大执行时间(如果我记得 3 到 5 分钟之间的话)