我正在使用
Zendesk php class,以下功能用于删除附件.
/**
* Delete one or more attachments by token or id
* $params must include one of these:
* 'token' - the token given to you after the original upload
* 'id' - the id of the attachment
*
* @param array $params
*
* @throws MissingParametersException
* @throws ResponseException
* @throws \Exception
*
* @return bool
*/
public function delete(array $params) {
if(!$this->hasAnyKey($params, array('id', 'token'))) {
throw new MissingParametersException(__METHOD__, array('id', 'token'));
}
$endPoint = Http::prepare(($params['token'] ? 'uploads/'.$params['token'] : 'attachments/'.$params['id']).'.json');
$response = Http::send($this->client, $endPoint, null, 'DELETE');
if ($this->client->getDebug()->lastResponseCode != 200) {
throw new ResponseException(__METHOD__);
}
$this->client->setSideload(null);
return true;
}
根据评论,运行此功能时需要令牌或ID.
我尝试过使用id
$attachment = $client->attachments()->delete(array('id'=>'1187146218','token'));
然而,它一直在追逐异常
PHP Notice: Undefined index: token in /home/adam/web/srv11/public_html/vendor/zendesk/zendesk_api_client_php/src/Zendesk/API/Attachments.php on line 106
PHP Fatal error: Uncaught exception 'Zendesk\API\ResponseException' with message 'Response to Zendesk\API\Attachments::delete is not valid. Call $client->getDebug() for details' in /home/adam/web/srv11/public_html/vendor/zendesk/zendesk_api_client_php/src/Zendesk/API/Attachments.php:109
Stack trace:
#0 /home/adam/web/srv11/public_html/functions/support-attachment-delete.php(15): Zendesk\API\Attachments->delete(Array)
#1 {main}
thrown in /home/adam/web/srv11/public_html/vendor/zendesk/zendesk_api_client_php/src/Zendesk/API/Attachments.php on line 109
非常感谢您的帮助
最佳答案 你写这篇文章的方式
array('id'=>'1187146218','token')
实际上给出了这样一个数组:
array('id'=>'1187146218', 0 => 'token')
所以没有’令牌’索引.如果您改为,这应该有用
$attachment = $client->attachments()->delete(array('id'=>'1187146218','token' => NULL));