- Apps Engine アカウントにリンクされた Google Apps for Business
- Cloud Console -> 登録済みアプリ -> {name} -> ウェブ アプリケーション -> OAuth 2.0 ClientID
- Cloud Console -> 管理 API (オン)
- Google Apps コンソール -> セキュリティ -> API アクセス (チェック済み)
- " -> " -> サードパーティ OAuth -> API クライアント ({ClientID}.apps.googleusercontent.com)
- " -> " -> " -> API スコープ ( https://www.googleapis.com/auth/admin.directory.user )
ここに私がこれまでに持っているものがあります、
require_once 'google/appengine/api/app_identity/AppIdentityService.php';
use \google\appengine\api\app_identity\AppIdentityService;
function setAuthHeader() {
$access_token =AppIdentityService::getAccessToken("https://www.googleapis.com/auth/admin.directory.user");
return [ sprintf("Authorization: OAuth %s", $access_token["access_token"]) ];
}
$get_contacts_url = "https://www.googleapis.com/admin/directory/v1/users?customer=my_customer";
$headers = implode("\n\r", setAuthHeader());
$opts =
array("http" =>
["http" => ["header" => $headers ]]
);
$context = stream_context_create( $opts );
$response = file_get_contents( $get_contacts_url, false, $context );
print_r ($response);
「access_token」はうまくいきますが、$response は、
{ "error": { "errors": [ { "domain": "global", "reason": "required", "message": "Login Required", "locationType": "header", "location": "Authorization" } ], "code": 401, "message": "Login Required" } }
ユーザー: ページの下部にあるリストの例では、次のように "Get" 要求を示しています。
GET https://www.googleapis.com/admin/directory/v1/users?customer=my_customer&key={YOUR_API_KEY}
{YOUR_API_KEY} とは何ですか? すべての Cloud Console と Google Apps API を試しましたが、うまくいきませんでした。
私はこれについて完全に間違っています。まったく別のアプローチを使用する必要がありますか? 私はこれに1週間以上苦労しており、何らかの反応が欲しい. ありがとう