3

ノードを使用して 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 ドキュメントに従うのは困難です。

4

0 に答える 0