0

我们正在使用 Geckoboard.com 和 Zendesk。

我正在为 Geckoboard 创建一个自定义小部件,以获取一些信息(顶级票务解决者)并列出它们。

现在,我只是想将一些虚拟/硬编码信息推送到小部件。

我的代码如下:

<?php
$curl = curl_init('https://COMPANY_SUBDOMAIN.zendesk.com/api/v2/views/MY_ZD_VIEW_ID/execute.json');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);                         
curl_setopt($curl, CURLOPT_USERPWD, 'USER_EMAIL/token:MY_UNIQUE_KEY');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);                         

$values = array(
    "api_key"   =>  "MY_UNIQUE_KEY",
    "data"      =>  array(
        "item"      =>  array(
            "title"     =>  "hello",
            "text"      =>  "Some text here"
        )
    )
); 

$v = json_encode($values);

curl_setopt_array($ch = curl_init(), array(
    CURLOPT_URL => "https://push.geckoboard.com/v1/send/MY_WIDGET_ID",
    CURLOPT_POSTFIELDS => $v,
    )
);
curl_exec($ch);
curl_close($ch);

?>

CAPS 中的所有数据都是我自己的信息。

执行文件时收到的消息:

{"message":"属性'text'未定义"}

任何帮助将不胜感激。

抱歉,我对 JSON 和 CURL 还比较陌生

4

1 回答 1

0

我已经设法解决了这个问题。下面的工作代码:

<?php

$curl = curl_init('https://{YOUR ZENDESK SUBDOMAIN}.zendesk.com/api/v2/views/{VIEW ID}/execute.json');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_USERPWD, '{EMAIL}/token:{TOKEN}');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$responseToday = curl_exec($curl);
$resultsToday  = json_decode($responseToday, true);

$values = array(
        "item" => array(
            "type" => 1,
            "text" => "Some text here"
        )
);

$v = json_encode($values);

//Simply print this out for the client to consume
echo $v;

/* We don't need this if we're not pushing the widget
curl_setopt_array($ch = curl_init(), array(
    CURLOPT_URL => "https://push.geckoboard.com/v1/send/{UNIQUE ID}",
    CURLOPT_POSTFIELDS => $v
));
curl_exec($ch);
curl_close($ch);
*/

?>
于 2014-08-07T07:54:42.653 回答