Google管理员SDK自定义方案问题

时间:2017-01-10 05:34:06

标签: php google-admin-sdk

我需要Google上的自定义计划方面的帮助。 我成功从委托中获取用户列表。 以下是我的代码。

$client = new \Google_Client();
$client->setApplicationName('xx');
$scopes = array('www.googleapis.com/auth/admin.directory.user','www.googleapis.com/auth/admin.directory.userschema');
$client->setAuthConfig('C:\Users\xx\xx\public\client_secret.json');
$client->setScopes($scopes);
$user_to_impersonate = 'xx.sg';
$client->setSubject($user_to_impersonate);

$dir = new \Google_Service_Directory($client);
$r = $dir->users->get('xxx@xx.com');
dd($r);

用户计划也已添加到Google。

但我得到的自定义方案是空的。

https://i.stack.imgur.com/0JcfZ.png

如果我在developers.google.com/admin中使用projection = full,则可以使用。

https://i.stack.imgur.com/9s3MQ.png

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

documentation说:

  

您可以通过将projectionusers.get请求中的users.list参数设置为customfull来获取用户个人资料中的自定义字段。

所以我会替换你的行:

$r = $dir->users->get('xxx@xx.sg');

使用:

$optParams = array('projection' => 'full');
$r = $dir->users->get('xxx@xx.sg', $optParams);