小编Joe*_*210的帖子

通过 API 将新成员添加到我们的 Google 管理目录组

哇,我到处搜索,找不到这个问题的“好”答案。这让我相信这很容易,没有人问,我很愚蠢,或者没有人能弄清楚。

当用户加入我们的网站时,我们希望在新用户注入过程中也将他们添加到我们的谷歌群组页面。我这里有这段代码,用于列出用户(尝试这样做只是为了让我开始)

$start = microtime(true);
require_once __DIR__ . '/google-api-php-client-2.2.1/vendor/autoload.php';
session_start();
date_default_timezone_set('America/Los_Angeles');
$REDIRECT_URI = 'http://localhost:8080';
$KEY_LOCATION = __DIR__ . '/client_secret.json';
$TOKEN_FILE   = "token.txt";
$SCOPES = array(
  Google_Service_Directory::ADMIN_DIRECTORY_GROUP_MEMBER
);

$client = new Google_Client();
$client->setApplicationName("Testing stuff");
$client->setAuthConfig($KEY_LOCATION);

// Incremental authorization
$client->setIncludeGrantedScopes(true);
$client->setAccessType('offline');
$client->setRedirectUri($REDIRECT_URI);
$client->setScopes($SCOPES);
$client->setAccessToken($_SESSION['accessToken']);
Run Code Online (Sandbox Code Playgroud)

这就是我所得到的,请怜悯我。

*** 更新 ***

我现在已经走到这一步了,感觉自己更接近了。

<?php

require_once('google-api-php-client-2.2.1_PHP54/vendor/autoload.php');
$impersonateUser = 'XXX';
define('SCOPES', implode(' ', array( 
Google_Service_Directory::ADMIN_DIRECTORY_GROUP_MEMBER) ));
putenv('GOOGLE_APPLICATION_CREDENTIALS=' . 'c_json' );

$client = new Google_Client();
$client->useApplicationDefaultCredentials();
$client->setSubject($impersonateUser);
$client->setScopes(SCOPES);

$dir = new Google_Service_Directory_Member($client);

$gPrimaryEmail = 'bob@bob.com';

$newUser = array( "email" …
Run Code Online (Sandbox Code Playgroud)

php google-api google-api-php-client google-admin-sdk

2
推荐指数
1
解决办法
1395
查看次数