LoginSignup
0
0

SalesforceのOauth認証がinvalid_client_id","error_description":"client identifier invalidで失敗したときにやったこと

Last updated at Posted at 2024-01-13

この記事について

SalesForceのAPIを叩く前にOauth2にてトークンを取得しようとしていた時に躓いたポイントをまとめています。

起きていた現象

GoogleAppsScriptを用いて以下のコードでSalesForceのOauth2を叩いて、アクセストークンを取得しようとしていたのですが、invalid_client_id","error_description":"client identifier invalidというエラーがでてきて取得ができませんでした。

code.js
function authorization() {
    var res = UrlFetchApp.fetch(
      "https://login.salesforce.com/services/oauth2/token", 
      {
        "method" : "POST",
        "payload" : {
          "grant_type": "password",
          "client_id": "SalesForceのコンシューマ鍵", //コンシューマ鍵
          "client_secret": "SalesForceのコンシューマの秘密", //コンシューマの秘密
          "username": "ユーザーネーム", //ユーザ名
          "password": "パスワード" //パスワード
      },
      "contentType": "application/x-www-form-urlencoded",
      "muteHttpExceptions": true
    });
    if (res.getResponseCode() == 200) {
      var prop = PropertiesService.getScriptProperties();
      prop.setProperty("session_info", res.getContentText());
      console.log("接続成功");
    } else{
      console.log(res.getContentText());
      console.log("接続失敗");
      }
}

resという変数に返ってくるのはエラーレコードだけでした。

対応したこと

結論、エラーが出た次の日に認証を試してみたら接続できました。そもそも接続用のアプリケーションが有効化されるのに時間がかかるようですね。他にもいろいろと対応したことがあったので書き記します。

ユーザー名パスワードフローを許可のトグルをONにした

以下のキャプチャのようにOauth設定のユーザー名とパスワードフローを許可のトグルをONにしました。

image.png

作成したアプリケーションへのアクセスを許可した

プロファイル設定から接続アプリケーションへのアクセスというチェックボックスがあります。今回作ったのはGASAPIという接続アプリケーションを作っていたので、これのアクセスができるようにチェックボックスをTRUEにしました。

image.png

接続用アプリケーションのOauthポリシーを変更した

IP制限の緩和というオプションをIP制限の緩和に設定し、許可されているユーザーというオプションをすべてのユーザーは自己承認可能に変更しました。

image.png

何が理由でできたか

上記の対応を行ったとしてもしばらくアクセストークンを取得することができず、一晩寝て、次の日にトライしたらアクセストークンの取得に成功しました。つまり、結局いろいろ設定をいじってみたのですが、たぶん有効化されるまでに時間がかかるだけなのかなと思います。同じく躓いた人に参考になればと思います。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0