アクセストークンを取得する方法はいくつかあるらしい
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