哇,我到处搜索,找不到这个问题的“好”答案。这让我相信这很容易,没有人问,我很愚蠢,或者没有人能弄清楚。
当用户加入我们的网站时,我们希望在新用户注入过程中也将他们添加到我们的谷歌群组页面。我这里有这段代码,用于列出用户(尝试这样做只是为了让我开始)
$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)