我正在嘗試使用curl連接到Marketo.com REST API。 我無法從身份服務獲得響應。我只得到一個錯誤信息Marketo API是否基於每個帳戶捲曲?
「[捲曲] 6:無法解析主機‘MY_CLIENT_ENDPOINT.mktorest.com’
, 但我可以打印所構建的網址,並將其粘貼到瀏覽器地址欄,這將提供預期的響應與access_token元素
我可以使用curl在php和終端訪問我的gmail帳戶,以便curl能夠訪問https服務 我試過發送curl url中的參數作爲get請求並通過聲明m與捲曲的-F選項作爲post請求
我的應用程序使用dchesterton/marketo-rest-api在github上可用,但我也嘗試了一個簡單的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'];
}
這再次失敗,相同的錯誤,但產生一個五臟俱全的網址,我可以粘貼到瀏覽器,並得到有效的響應。 我也試過這個使用後,而不是像我提到的每個其他測試一樣,這些已經在我的本地主機和測試服務器上嘗試過。
任何人都可以向我解釋爲什麼會失敗? Marketo是否根據每個賬戶阻止捲曲?
感謝您的回覆。 – Bluebox
我通過加入 'curl_setopt($ ch,CURLOPT_FOLLOWLOCATION,TRUE); curl_setopt($ ch,CURLOPT_MAXREDIRS,4);' 我不知道爲什麼這使它的工作,我沒有測試你的代碼,因爲我不想打破什麼作品,謝謝 – Bluebox