Php 无法获取marketo rest APi的访问令牌
我正在使用MarketoRESTAPI。在这里我正在编写这段代码Php 无法获取marketo rest APi的访问令牌,php,rest,curl,marketo,Php,Rest,Curl,Marketo,我正在使用MarketoRESTAPI。在这里我正在编写这段代码 class UpsertLeads{ private $host = "";//CHANGE ME private $clientId = "";//CHANGE ME private $clientSecret = "";//CHANGE ME public $input; //an array of lead records as objects public $lookupField; //field used for de
class UpsertLeads{
private $host = "";//CHANGE ME
private $clientId = "";//CHANGE ME
private $clientSecret = "";//CHANGE ME
public $input; //an array of lead records as objects
public $lookupField; //field used for deduplication
public $action; //operation type, createOnly, updateOnly, createOrUpdate, createDuplicate
public function postData(){
$url = $this->host . "/rest/v1/leads.json?access_token=" . $this->getToken();
$ch = curl_init($url);
$requestBody = $this->bodyBuilder();
print_r($requestBody);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('accept: application/json','Content-Type: application/json'));
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $requestBody);
curl_getinfo($ch);
$response = curl_exec($ch);
return $response;
}
private function getToken(){
$ch = curl_init($this->host . "/identity/oauth/token?grant_type=client_credentials&client_id=" . $this->clientId . "&client_secret=" . $this->clientSecret);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('accept: application/json',));
$response = json_decode(curl_exec($ch));
curl_close($ch);
$token = $response->access_token;
return $token;
}
当我从postData()返回url时,它将如下打印
""
您可以注意到我没有获得访问令牌。
当我从getToken()打印URl时,它将被打印为正确的URl,当我在浏览器中点击此URl时,我将获得正确的输出。
谢谢。公共函数postData(){
$url=$this->host./rest/v1/leads.json?访问令牌=“.this->getToken();
$ch=curl\u init($url);
//$requestBody=$this->bodyBuilder();
//打印(请求主体);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_HTTPHEADER,array('accept:application/json','Content-Type:application/json'));
卷曲设置($ch,卷曲设置桩,1);
//curl_setopt($ch,CURLOPT_POSTFIELDS,$requestBody);
curl_getinfo($ch);
$response=curl\u exec($ch);
//echo“”;print_r($response);exit();
返回$url;
}
正在返回带有有效访问令牌的完美API URL,请检查bodyBuilder()是否正在更改某些内容
public function postData(){
$url = $this->host . "/rest/v1/leads.json?access_token=" . $this->getToken();
$ch = curl_init($url);
//$requestBody = $this->bodyBuilder();
//print_r($requestBody);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('accept: application/json','Content-Type: application/json'));
curl_setopt($ch, CURLOPT_POST, 1);
//curl_setopt($ch, CURLOPT_POSTFIELDS, $requestBody);
curl_getinfo($ch);
$response = curl_exec($ch);
//echo"<pre>";print_r($response);exit();
return $url;
}