Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Marketo REST API-更新登录页模板-系统错误611_Php_Rest_Marketo - Fatal编程技术网

Php Marketo REST API-更新登录页模板-系统错误611

Php Marketo REST API-更新登录页模板-系统错误611,php,rest,marketo,Php,Rest,Marketo,我尝试使用(Marketo doc page:)上的PHP示例代码段,替换我的RESTAPI URL、客户机id、客户机机密和一个简单的模板文件。因此,它只会生成bool(false) 当我使用稍微不同的等价物时,我发现我的REST调用会导致object(stdClass){3(3){[“requestId”]=>string(16)“e714”{153c7bf644f”[“success”]=>bool(false)[“errors”]=>array(1){[0]=>object(stdCla

我尝试使用(Marketo doc page:)上的PHP示例代码段,替换我的RESTAPI URL、客户机id、客户机机密和一个简单的模板文件。因此,它只会生成bool(false)

当我使用稍微不同的等价物时,我发现我的REST调用会导致object(stdClass){3(3){[“requestId”]=>string(16)“e714”{153c7bf644f”[“success”]=>bool(false)[“errors”]=>array(1){[0]=>object(stdClass){4(2){[“code”]=>string(3)“611”[“message”]=>string(12)“System error”}}

神秘的错误代码611到底是什么意思?既然“系统错误”不足以帮助我们了解,那么它到底是什么意思?为什么会发生在这种情况下

这个用于更新登录页模板的RESTAPI是否仍然有效

<?php
/*
  Some other functions that made use of $lp_template_id are up here
*/

$landingPageTemplate = new UpdateLandingPageTemplateContent();
$landingPageTemplate->id = 1234;
$landingPageTemplate->content = new CURLFile("/path_to_my_template/{$lp_template_id}", "text/html", "content");
print_r($landingPageTemplate->postData());

class UpdateLandingPageTemplateContent{
    private $host = "https://xxx-xxx-xxx.mktorest.com";
    private $clientId = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
    private $clientSecret = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
    public $id;//id of the teplate to update
    public $content; //HTML content of Template, required

    public function postData(){
        $url = $this->host . "/rest/asset/v1/landingPageTemplate/" . $this->id . "/content.json?access_token=" . $this->getToken();
        $ch = curl_init($url);
        $requestBody = array("content" => $this->content);
        curl_setopt($ch,  CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_HTTPHEADER, array('accept: application/json','Content-Type: multipart/form-data'));
        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;
    }

}

我只是做了一个简单的编程来提供文件的路径

$landingPageTemplate->content = new CURLFile("/path_to_my_template/{$lp_template_id}", "text/html", "content");
应该是

$landingPageTemplate->content = new CURLFile("/path_to_my_template/{$landingPageTemplate->id}", "text/html", "content");

有趣的是,C#snippet就像一个符咒。你能用你的客户id和修改过的秘密来展示一个完整的请求是什么样子的吗?