LANG SELRCT

Apps Script Reference  (Create: Create new Spreadsheet | Create new Apps Script

Friday, January 31, 2020

SalesforceのAPIでアクセストークンを取得したい(ユーザ名,パスワード)


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

Latest post

スプレッドシートA列にある複数のテキストをスライドに追加したい(Google Apps Script)

今回Google Apps Scriptでやりたいこと GoogleスプレッドシートA列にある複数の値を取得して Googleスライドに渡して 図形オブジェクトのテキストとして追加したい ① スプレッドシートのA列に値を入れておく ② Code.gsのinsertNewShape...