1

プロジェクトの簡単な説明:Googleスクリプトを使用して自分のGmailアカウントの設定で電子メール転送オプションを切り替えることを検討しています。これは、毎晩、main_email @ gmailからsecondary_email @ gmailにメールを転送する特定の時間の間に呼びたい機能になります。Googleスクリプトで電子メール転送を有効にする方法

Googleスクリプトでこれを切り替える最も簡単な方法を見つけるのが難しいです。最も簡単な解決策は、ここではHTTPリクエストを使用する場所で記述されているようです。しかし、すべての正直なところで、私はそれがすべての仕組みを完全に理解していない、それが最も簡単な方法であればはるかに少ない。

https://developers.google.com/gmail/api/v1/reference/users/settings/updateAutoForwarding

私がしようとすると/無効メールの転送を可能にするために、Gmailアカウント上で実行するコードは以下の通りです:

Request failed for https://www.googleapis.com/gmail/v1/users/[email protected]/settings/autoForwarding returned code 401. Truncated server response: { "error": { "errors": [ { "domain": "global", "reason": "required", "message": "Login Required", "locationType": "header", ... (use muteHttpExceptions option to examine full response) (line 4, file "Code")

function updateForwarding() { 
    var userID = "[email protected]" 
    var response = UrlFetchApp.fetch("https://www.googleapis.com/gmail/v1/users/" + userID + "/settings/autoForwarding", { 
     method: 'put', 
     enabled: true, 
     emailAddress: "[email protected]", 
     disposition: "leaveInInbox" 
    }); 

    Logger.log(response.getContentText()); 

} 

私は次のエラーを取得するしかし、

私はこれが要求をするための資格情報を提供する必要があることを認識していますが、私はそれをどうやってやるのか分かりません。私はチュートリアル(https://developers.google.com/gmail/api/auth/about-auth)を読んだ。私はgmailで自分のアプリケーションを認証し、APIキーを取得する必要があるので、私はそれを作成するためにGoogle開発者コンソールに行った。しかし、Googleの数時間後にGoogleスクリプトを使用して電話をかける方法はわかりません。ここで

は、私は与えられた鍵と秘密です: enter image description here

が、これはGmailの転送を切り替えるための最も簡単な解決策ですか?その場合、通話を認証するにはどうすればよいですか?そうでない場合は、私のGmail転送のオン/オフを切り替えることができる最も簡単な解決策は何ですか?

答えて

0

承認セクションのhttps://developers.google.com/gmail/api/v1/reference/users/settings/updateAutoForwardingに記載されているように、APIキーだけでなく、その呼び出しを行うには、指定されたスコープでOAuthを使用する必要があります。あなたはクライアントIDを持っているようですが、これをライブラリにプラグインしてOAuthプロセスを処理する必要があります。 OAuthプロセスは、リクエストに追加するベアラトークンを与えます(ただし、ほとんどのOAuthライブラリがこれを処理します)。

UrlFetchApp(https://developers.google.com/apps-script/reference/url-fetch/url-fetch-appに基づく)を使用している場合は、https://github.com/googlesamples/apps-script-oauth2がこれを行うための現在の推奨方法です。

1

あなたがこれは動作しませんでしたヘッダ情報

function updateForwarding() { 
     var userID = "[email protected]"; 
     var header = { 
     Authorization: 'Bearer ' + ScriptApp.getOAuthToken(), 
     } 
     var response = UrlFetchApp.fetch("https://www.googleapis.com/gmail/v1/users/" + userID + "/settings/autoForwarding", { 
      method: 'put', 
      enabled: true, 
      headers: header, 
      emailAddress: "[email protected]", 
      disposition: "leaveInInbox" 
     }); 

     Logger.log(response.getContentText()); 

    } 
+0

でのOAuthトークンを渡す必要があるが、私はこの時間別のエラーを得ました!エラー403、権限が不十分です。他のSOの記事を見ると、最も一般的な解決策はuserIDを '私'に変更することですが、それでも同じエラーが発生します。私はそれを修正するために何をすべきですか? –

関連する問題