1

この機能を使用するにはどうすればよいですか? ユーザー ID とグループ ID があります。

フィールドを追加しようとすると表示されるエラー メッセージは、Google_Member インスタンスに関係しています。PHPコードでこれをどのように使用しますか?

ところで、それはGoogle Apps APIからのものです

/**
 * Add user to the specified group. (members.insert)
 *
 * @param string $groupKey Email or immutable Id of the group
 * @param Google_Member $postBody
 * @param array $optParams Optional parameters.
 * @return Google_Member
 */
public function insert($groupKey, Google_Member $postBody, $optParams = array()) {
  $params = array('groupKey' => $groupKey, 'postBody' => $postBody);
  $params = array_merge($params, $optParams);
  $data = $this->__call('insert', array($params));
  if ($this->useObjects()) {
    return new Google_Member($data);
  } else {
    return $data;
  }
}
4

2 に答える 2

2

ここに記載されている手順に従って、Google コンソールでアプリケーションをセットアップし、権限のドメイン委任を有効にします。

http://jamespeckham.com/wordpress/?p=9 (ありがとう、JDPeckham)

https://code.google.com/p/google-api-php-client/downloads/listからクライアントをダウンロードします。

ここに私の作業コードがあります:

require_once "google-api-php-client/src/Google_Client.php";
require_once "google-api-php-client/src/contrib/Google_DirectoryService.php";
require_once "google-api-php-client/src/contrib/Google_Oauth2Service.php";
session_start();

const GROUP_SCOPE = 'https://www.googleapis.com/auth/admin.directory.group';
const SERVICE_ACCOUNT_EMAIL = '.....@developer.gserviceaccount.com';
const SERVICE_ACCOUNT_PKCS12_FILE_PATH = '/path/to/...privatekey.p12';
const CLIENT_ID = '....apps.googleusercontent.com';

$userEmail = 'email-address-with-admin-rights@domain.com';

$key = file_get_contents(SERVICE_ACCOUNT_PKCS12_FILE_PATH);
$auth = new Google_AssertionCredentials(SERVICE_ACCOUNT_EMAIL, array(GROUP_SCOPE), $key, 'notasecret',  'http://oauth.net/grant_type/jwt/1.0/bearer', $userEmail);
$client = new Google_Client();
$client->setClientId(CLIENT_ID); // from API console
$client->setApplicationName("Project Name from API Console");
$client->setUseObjects(true);
$client->setAssertionCredentials($auth);

$member = new Google_Member(array('email' => 'abc@testing.com',
                        'kind' => 'admin#directory#member',
                        'role' => 'MEMBER',
                        'type' => 'USER'));
$service = new Google_DirectoryService($client);
$results = $service->members->insert('mailing-list-name@domain.com', $member);
print '<h2>Response Result:</h2><pre>' . print_r($results, true) . '</pre>';
于 2013-10-11T18:22:27.380 に答える