ノードを使用して Google Directory API にアクセスできません。私が望んでいるのは、グループからユーザーを作成および削除することです (そして、グループとそのユーザーを作成およびリストします)。テストでは、ほとんどの API に問題なくアクセスできましたが、ディレクトリにはアクセスできませんでした。
まず、私がやろうとしていることは可能ですか?
次に、可能であれば、これが私のコードのサンプルです。私は何が欠けていますか?
var google = require('googleapis');
var googleAuth = require('google-oauth-jwt');
var request = require('google-oauth-jwt').requestWithJWT();
request({
url: 'https://www.googleapis.com/admin/directory/v1/groups?domain=mydomainname.com&customer=my_customer',
jwt: {
email: 'created-service-account@developer.gserviceaccount.com',
keyFile: './MyPemFile.pem',
scopes: [
'https://www.googleapis.com/auth/admin.directory.orgunit',
'https://www.googleapis.com/auth/admin.directory.device.chromeos',
'https://www.googleapis.com/auth/admin.directory.user',
'https://www.googleapis.com/auth/admin.directory.group',
'https://www.googleapis.com/auth/drive.readonly'
]}
}, function (err, res, body) {
if (err) console.log("Error", err);
console.log("BODY", JSON.parse(body));
});
開発者コンソールでプロジェクトを作成しました。新しい clientId (サービス アカウント) を作成しました。次に、p12 ファイルが表示されます。このファイルは、openSSL を使用して pem ファイルに変換します (上記の keyFile 設定で指定されたファイル パス)。作成された clientId 電子メール アドレスは、上記の電子メール設定で使用されます。
プロジェクトに Admin SDK へのアクセスを許可しました。次に、管理コンソールに移動し、[セキュリティ] -> [詳細] -> [API クライアント アクセスの管理] で、上記のコードで要求されたすべてのスコープへのアクセスをサービス アカウントに許可しました。
うまくいけば、これは理にかなっていますが、完全なプロセスを説明することは困難です. 質問がある場合、または明確にする必要がある場合は、コメントしてください。
このコードを実行すると、常に「このリソース/API にアクセスする権限がありません」という 403 が表示されます。
正しい方法論を使用していますか? すべてのヘルプ ファイルが現在のメニュー システムと一致しているわけではないため、Google ドキュメントに従うのは困難です。