これはおそらく非常に単純な問題ですが、私はかなり新しいcurl
です。正しく説明されたことはありません。 curl
でアクセストークンを取得しなければならないのは今回が初めてで、例は見たことがありません。私のGoogle検索は役に立ちませんでした。Google Appsスクリプトとカール
私はアクセストークンを取得した後にトランザクション要求を行う方法を知っていますが、トークンを取得してそのステップに進むことはできません。以下は
トークンを取得する方法のAPIドキュメントの例である:
curl -X POST -u <API USERNAME>:<API SECRET KEY> https://api.neverbounce.com/v3/access_token\
-d grant_type=client_credentials\
-d scope=basic+user
UrlFetchApp
はURLが必要ですが、この例のURLはの一部であるため、私はGoogle Apps Script
でこの呼び出しを行うことが出来るのですか要求?
UPDATE
これは私のコードのサンプルです:
function NBpost() {
var dataString = 'grant_type=client_credentials&scope=basic+user';
var url = "https://api.neverbounce.com/v3/access_token";
var options =
{
"method" : "post",
"auth": {
'user': <USERNAME>,
'pass': <SECRET KEY>,
},
body : dataString,
"muteHttpExceptions" : true
};
var response = JSON.parse(UrlFetchApp.fetch(url, options).getContentText());
}
応答は常に同じです:
error:"invalid_request",
error_description:"The grant type was not specified in the request"
私も試してみました:
var dataString = {
"grant_type": "client_credentials",
"scope" : "basic user"
};
を
しかし、応答は変わりません。私は間違って何をしていますか?私は次の変更作ら
UPDATE 2
:今
function myFunction(){
var url ='https://api.neverbounce.com/v3/access_token';
var options = {
method: "post",
u: {
<USERNAME> : <SECRET KEY>
},
payload: {
"grant_type": "client_credentials",
"scope": "basic user"
},
muteHttpExceptions: true
};
var response = JSON.parse(UrlFetchApp.fetch(url, options).getContentText());
}
は、私はこのエラーを取得する:サンプルスクリプトを以下について
error:"invalid_client"
error_description:"Client credentials were not found in the headers or body"
私はこの試みに感謝しますが、このエラーが発生します。「例外:ログイン情報が許可されていません」 – davids
すみません。今更新しました。これにはヘッダーに対する基本認証が含まれていました。試してみてください。 – Tanaike