我正在尝试更新Google Apps Directory上的用户电话号码。目前我有API能够检索用户的信息,但当我尝试设置他们的电话号码时,它只是默默地失败。值不会在目录中更新。我可能只是错过了一个实际发送数据的方法,但我一直无法找到这样的方法。
我目前的范围是:
$scopes = array('https://www.googleapis.com/auth/admin.directory.user', 'https://www.googleapis.com/auth/admin.directory.group', 'https://www.googleapis.com/auth/admin.directory.orgunit');
我保存电话号码的尝试各不相同。我试过了:
$work_phone = new \Google_Service_Directory_UserPhone();
$work_phone->setType('work');
$work_phone->setValue($work_number);
$google_user->setPhones(array($work_phone));
和
$google_user->setPhones(array(array(
"type"=>"work",
"value"=>$work_number
)));
以及类型数组结构的各种值。任何帮助将不胜感激。
答案 0 :(得分:0)
要更新目录中的电话号码,您需要将信息发送回Google。使用您的代码:
$google_user->setPhones(array($work_phone));
您正在正确设置对象的手机阵列。但是,您仍然需要更新该用户。当你说:
时你是对的我可能只是错过了一个实际发送数据的方法
你需要做这样的事情:
$work_phone = new \Google_Service_Directory_UserPhone();
$work_phone->setType('work');
$work_phone->setValue($work_number);
$google_user->setPhones(array($work_phone));
$serviceDirectory = new Google_Service_Directory($client);
$serviceDirectory->users->update($google_user);
可以在此处找到相关的API文档:https://developers.google.com/admin-sdk/directory/v1/reference/users/update