'grant_type'変数が欠落しており、Microsoft Graph Rest ApiでBash Curl要求が拒否されました。

'grant_type'変数が欠落しており、Microsoft Graph Rest ApiでBash Curl要求が拒否されました。

Microsoft Graph Rest Apiでいくつかの情報を要求する必要がある最初のCronジョブを作成しようとしています。私はPHPを使用してこれを正常に実行しましたが、Bashカールで動作させることはできません。さまざまな構文ガイドラインに従い、要求が正しく設定されていると確信していますが、Microsoftから正しい応答を受け取ることができません。

私のシェルスクリプト:

curl -i -X POST --data "{'grant_type':'client_credentials','client_secret':'****','client_id':'****','scope':'https://graph.microsoft.com/.default'}" --trace mylog.txt https://login.microsoftonline.com/****/oauth2/v2.0/token

ログファイルでサブジェクトが正しく設定されていることがわかりますが、常にこのエラーが発生します。

{"error":"invalid_request","error_description":"AADSTS900144: The request body must contain the following parameter: 'grant_type'. Trace ID: 3a5fb023-6dcb-465c-a39a-2e432cc62c00 Correlation ID: 33387641-8a36-4dac-aa46-c623ce170960 Timestamp: 2020-09-03 10:01:42Z","error_codes":[900144],"timestamp":"2020-09-03 10:01:42Z","trace_id":"3a5fb023-6dcb-465c-a39a-2e432cc62c00","correlation_id":"33387641-8a36-4dac-aa46-c623ce170960","error_uri":"https://login.microsoftonline.com/error?code=900144"}

マイログファイル https://pastebin.com/vFQARkyD

たぶん誰かがこのようなことが起こる理由を知っているかもしれません。

ベストアンサー1

JSON本文では、二重引用符の代わりに一重引用符を使用します。

努力する:

curl -i -X POST --data '{"grant_type":"client_credentials","client_secret":"****","client_id":"****","scope":"https://graph.microsoft.com/.default"}' --trace mylog.txt https://login.microsoftonline.com/****/oauth2/v2.0/token

おすすめ記事