アクセストークンを取得する方法はいくつかあるらしい
OAuth によるアプリケーションの認証
今回はユーザ名とパスワードを使ってアクセストークンの取得を試してみました
OAuth 2.0 ユーザ名パスワードフロー
接続アプリケーションを作成する方法はこちら
SalesforceのAPIを利用するために接続アプリケーションを作成したい
公式ページにも書かれていますが必要な場合にのみ使用しましょう
警告 この OAuth 認証フローでは、ユーザのログイン情報がやりとりされます。この認証フローは、必要な場合にのみ使用してください。更新トークンは発行されません。
重要 Salesforce コミュニティでは、OAuth 2.0 のユーザ名パスワード認証フローはサポートされていません。
しかし、必要な場合がどんな場合かまでは書かれていないので、そこは自己判断になる。
コード.gs
var client_id = "コンシューマ鍵";
var client_secret = "コンシューマの秘密";
var username = "ユーザ名";
var password = "パスワード";
function authorization() {
var url = "https://login.salesforce.com/services/oauth2/token";
var options = {
"method" : "POST",
"payload" : {
"grant_type": "password",
"client_id": client_id,
"client_secret": client_secret,
"username": username,
"password": password
}
}
var response = UrlFetchApp.fetch(url, options);
Logger.log(response);
}
|
関連記事
必要な場合がわからないので、別の方法で試した方法も書き残しておきます。
接続アプリケーションを作成したい
接続アプリケーションを作成したい(Lightning)
参考
OAuth によるアプリケーションの認証
https://help.salesforce.com/articleView?id=remoteaccess_authenticate.htm&type=5
OAuth 2.0 ユーザ名パスワードフロー
https://help.salesforce.com/articleView?id=remoteaccess_oauth_username_password_flow.htm&type=5
ユーザ名パスワード OAuth 認証フローについて
https://developer.salesforce.com/docs/atlas.ja-jp.api_rest.meta/api_rest/intro_understanding_username_password_oauth_flow.htm