curl を使用してMarketo.com REST APIに接続しようとしています。ID サービスから応答がありません。エラーメッセージしか表示されない
「[curl] 6: ホスト 'MY_CLIENT_ENDPOINT.mktorest.com' を解決できませんでした」
、しかし、構築された URL を印刷してブラウザーのアドレス バーに貼り付けることができます。これにより、access_token 要素で期待される応答が得られます。
php と端末で curl を使用して Gmail アカウントにアクセスできるため、curl は https サービスにアクセスできます。curl url のパラメータを get リクエストとして送信し、curl の -F オプションを post リクエストとして宣言してみました
私のアプリケーションでは、github で入手できるdchesterton/marketo-rest-apiを使用していますが、アクセス トークンを取得するためだけに単純な php curl リクエストも試しました。
private function getToken() {
$url = "$this->client_url/identity/oauth/token?grant_type=client_credentials&client_id=$this->client_id&client_secret=$this->client_secret";
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($ch);
$errors = curl_error($ch);
curl_close($ch);
file_put_contents($this->logDir . 'access_token_response' . date('Y-m-d') . '.txt', $url . "\n" . $response . "\n", FILE_APPEND);
if ($errors) {
file_put_contents($this->logDir . 'access_token_errors' . date('Y-m-d') . '.txt', $errors . "\n", FILE_APPEND);
}
return $response['access_token'];
}
繰り返しますが、これは同じエラーで失敗しますが、ブラウザーに貼り付けて有効な応答を取得できる完全に形成された URL を生成します。また、言及されている他のすべてのテストと同様に、get の代わりに post を使用してこれを試しました。これらは、私のローカルホストとテスト サーバーで試しました。
なぜこれが失敗するのか、誰かが私に説明できますか? Marketo はアカウントごとに curl をブロックしますか?