Я пытаюсь подключиться к API-интерфейсу Marketo.com с использованием curl. Я не могу получить ответ от службы идентификации. Я только получаю сообщение об ошибкеЗаменяет ли Marketo API завиток на основе каждой учетной записи?
«[локон] 6: Не удалось разрешить хост„“MY_CLIENT_ENDPOINT.mktorest.com
, , но я могу напечатать сконструированного URL и вставить его в адресная строка браузера, и это обеспечит ожидаемый ответ с помощью элемента access_token.
Я могу использовать curl в php и в терминале для доступа к моей учетной записи gmail, поэтому curl может получить доступ к службе https. Я попытался отправить параметры в curl url в качестве запроса на получение, а также путем объявления m с опцией curl -F в качестве почтового запроса
Мое приложение использует 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'];
}
Опять же, это не удается с той же ошибкой, но производит совершенно сформированный URL, что я могу вставить в браузер и получить правильный ответ. Я также пробовал это, используя пост вместо того, чтобы получить то, что у меня есть для каждого другого упомянутого теста, и они были опробованы на моем локальном хосте и на тестовом сервере.
Может кто-нибудь объяснить мне, почему это не удастся? Блокирует ли Marketo завиток на основе каждой учетной записи?
Спасибо за ответ. – Bluebox
Я получил это для работы, добавив 'curl_setopt ($ ch, CURLOPT_FOLLOWLOCATION, TRUE); curl_setopt ($ ch, CURLOPT_MAXREDIRS, 4); ' Я не знаю, почему это заставило его работать, и я не тестировал ваш код, так как я не хочу нарушать то, что работает, поэтому спасибо – Bluebox