Php Pivotal Tracker API文件上载
我有这张表格要上传一个文件。我想把它作为评论上传到Pivotal Tracker的API中。我将在代码中写什么?我是卷发新手Php Pivotal Tracker API文件上载,php,api,curl,file-upload,pivotaltracker,Php,Api,Curl,File Upload,Pivotaltracker,我有这张表格要上传一个文件。我想把它作为评论上传到Pivotal Tracker的API中。我将在代码中写什么?我是卷发新手 编辑:在Pivotal Tracker中,您可以上传评论中的.jpg、.xls等文件,并创建一个可下载的图标/缩略图 评论文件: 文件附件文件: upload.html: <form action="pt.php" method="post" enctype="multipart/form-data"> <fieldset> <
编辑:在Pivotal Tracker中,您可以上传评论中的.jpg、.xls等文件,并创建一个可下载的图标/缩略图 评论文件: 文件附件文件: upload.html:
<form action="pt.php" method="post" enctype="multipart/form-data">
<fieldset>
<input type="file" name="pt_xls" />
<input type="submit" name="upload" value="Upload" />
</fieldset>
</form>
$response = pivotalTracker("https://www.pivotaltracker.com/services/v5/projects/XXXXXXXX/stories/XXXXXXXX/comments");
$resArr = array();
$resArr = json_decode($response);
echo "<pre>"; print_r($resArr); echo "</pre>";
function pivotalTracker($url) {
$pivotalAPIToken = 'XXXXXXXXXX';
$curlHeader = array("X-TrackerToken: ".$pivotalAPIToken, "Content-type: application/json");
$options = array(
CURLOPT_HTTPHEADER => $curlHeader,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => TRUE,
CURLOPT_POSTFIELDS => json_encode($data),
);
$ch = curl_init($url);
curl_setopt_array($ch, $options);
$content = curl_exec($ch);
curl_close($ch);
return $content;
}
pt.php:
<form action="pt.php" method="post" enctype="multipart/form-data">
<fieldset>
<input type="file" name="pt_xls" />
<input type="submit" name="upload" value="Upload" />
</fieldset>
</form>
$response = pivotalTracker("https://www.pivotaltracker.com/services/v5/projects/XXXXXXXX/stories/XXXXXXXX/comments");
$resArr = array();
$resArr = json_decode($response);
echo "<pre>"; print_r($resArr); echo "</pre>";
function pivotalTracker($url) {
$pivotalAPIToken = 'XXXXXXXXXX';
$curlHeader = array("X-TrackerToken: ".$pivotalAPIToken, "Content-type: application/json");
$options = array(
CURLOPT_HTTPHEADER => $curlHeader,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => TRUE,
CURLOPT_POSTFIELDS => json_encode($data),
);
$ch = curl_init($url);
curl_setopt_array($ch, $options);
$content = curl_exec($ch);
curl_close($ch);
return $content;
}
$response=pivotalTracker(“https://www.pivotaltracker.com/services/v5/projects/XXXXXXXX/stories/XXXXXXXX/comments");
$resArr=array();
$resArr=json_decode($response);
回声“;印刷费($resArr);回声“;
函数pivotalTracker($url){
$pivotalAPIToken='xxxxxxxxx';
$curlHeader=array(“X-TrackerToken:”.$pivotalAPIToken,“内容类型:application/json”);
$options=array(
CURLOPT_HTTPHEADER=>$curlHeader,
CURLOPT_RETURNTRANSFER=>true,
CURLOPT_POST=>TRUE,
CURLOPT_POSTFIELDS=>json_encode($data),
);
$ch=curl\u init($url);
curl_setopt_数组($ch$options);
$content=curl\u exec($ch);
卷曲关闭($ch);
返回$content;
}
这可能不是正确的方法,但它确实有效
文件_in.php
$pt_file_id = $_GET['pt_file_id'];
$pt_file_name = $_GET['filename'];
$response = pivotalTracker("https://www.pivotaltracker.com/services/v5/projects/*ID*/stories/*ID*/comments", $pt_file_id, $pt_file_name);
$resArr = array();
$resArr = json_decode($response);
echo "<pre>"; print_r($resArr); echo "</pre>";
function pivotalTracker($url, $pt_file_id, $pt_file_name) {
$file_data[] = array('id' => $pt_file_id,);
$fileObject = (object) $file_data;
$data = array(
'text' => 'file_attachments/'.$pt_file_id.'/'.$pt_file_name,
'file_attachments' => $file_data,
);
$pivotalAPIToken = 'XXXX';
$curlHeader = array("X-TrackerToken: ".$pivotalAPIToken, "Content-type: application/json");
$options = array(
CURLOPT_HTTPHEADER => $curlHeader,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => TRUE,
CURLOPT_POSTFIELDS => json_encode($data),
);
$ch = curl_init($url);
curl_setopt_array($ch, $options);
$content = curl_exec($ch);
curl_close($ch);
return $content;
}
pt\u file\u comment.php
$pt_file_id = $_GET['pt_file_id'];
$pt_file_name = $_GET['filename'];
$response = pivotalTracker("https://www.pivotaltracker.com/services/v5/projects/*ID*/stories/*ID*/comments", $pt_file_id, $pt_file_name);
$resArr = array();
$resArr = json_decode($response);
echo "<pre>"; print_r($resArr); echo "</pre>";
function pivotalTracker($url, $pt_file_id, $pt_file_name) {
$file_data[] = array('id' => $pt_file_id,);
$fileObject = (object) $file_data;
$data = array(
'text' => 'file_attachments/'.$pt_file_id.'/'.$pt_file_name,
'file_attachments' => $file_data,
);
$pivotalAPIToken = 'XXXX';
$curlHeader = array("X-TrackerToken: ".$pivotalAPIToken, "Content-type: application/json");
$options = array(
CURLOPT_HTTPHEADER => $curlHeader,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => TRUE,
CURLOPT_POSTFIELDS => json_encode($data),
);
$ch = curl_init($url);
curl_setopt_array($ch, $options);
$content = curl_exec($ch);
curl_close($ch);
return $content;
}
$pt\u file\u id=$\u GET['pt\u file\u id'];
$pt_file_name=$_GET['filename'];
$response=pivotalTracker(“https://www.pivotaltracker.com/services/v5/projects/*ID*/stories/*ID*/comments“,$pt\u file\u ID,$pt\u file\u name);
$resArr=array();
$resArr=json_decode($response);
回声“;印刷费($resArr);回声“;
函数pivotalTracker($url、$pt\U文件\U id、$pt\U文件\U名称){
$file_data[]=数组('id'=>$pt_file_id,);
$fileObject=(object)$file\u数据;
$data=数组(
'text'=>'file_attachments/'.$pt_file_id./'.$pt_file_name,
“文件附件”=>$file\u数据,
);
$pivotalAPIToken='XXXX';
$curlHeader=array(“X-TrackerToken:”.$pivotalAPIToken,“内容类型:application/json”);
$options=array(
CURLOPT_HTTPHEADER=>$curlHeader,
CURLOPT_RETURNTRANSFER=>true,
CURLOPT_POST=>TRUE,
CURLOPT_POSTFIELDS=>json_encode($data),
);
$ch=curl\u init($url);
curl_setopt_数组($ch$options);
$content=curl\u exec($ch);
卷曲关闭($ch);
返回$content;
}
这可能不是正确的方法,但它确实有效
文件_in.php
$pt_file_id = $_GET['pt_file_id'];
$pt_file_name = $_GET['filename'];
$response = pivotalTracker("https://www.pivotaltracker.com/services/v5/projects/*ID*/stories/*ID*/comments", $pt_file_id, $pt_file_name);
$resArr = array();
$resArr = json_decode($response);
echo "<pre>"; print_r($resArr); echo "</pre>";
function pivotalTracker($url, $pt_file_id, $pt_file_name) {
$file_data[] = array('id' => $pt_file_id,);
$fileObject = (object) $file_data;
$data = array(
'text' => 'file_attachments/'.$pt_file_id.'/'.$pt_file_name,
'file_attachments' => $file_data,
);
$pivotalAPIToken = 'XXXX';
$curlHeader = array("X-TrackerToken: ".$pivotalAPIToken, "Content-type: application/json");
$options = array(
CURLOPT_HTTPHEADER => $curlHeader,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => TRUE,
CURLOPT_POSTFIELDS => json_encode($data),
);
$ch = curl_init($url);
curl_setopt_array($ch, $options);
$content = curl_exec($ch);
curl_close($ch);
return $content;
}
pt\u file\u comment.php
$pt_file_id = $_GET['pt_file_id'];
$pt_file_name = $_GET['filename'];
$response = pivotalTracker("https://www.pivotaltracker.com/services/v5/projects/*ID*/stories/*ID*/comments", $pt_file_id, $pt_file_name);
$resArr = array();
$resArr = json_decode($response);
echo "<pre>"; print_r($resArr); echo "</pre>";
function pivotalTracker($url, $pt_file_id, $pt_file_name) {
$file_data[] = array('id' => $pt_file_id,);
$fileObject = (object) $file_data;
$data = array(
'text' => 'file_attachments/'.$pt_file_id.'/'.$pt_file_name,
'file_attachments' => $file_data,
);
$pivotalAPIToken = 'XXXX';
$curlHeader = array("X-TrackerToken: ".$pivotalAPIToken, "Content-type: application/json");
$options = array(
CURLOPT_HTTPHEADER => $curlHeader,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => TRUE,
CURLOPT_POSTFIELDS => json_encode($data),
);
$ch = curl_init($url);
curl_setopt_array($ch, $options);
$content = curl_exec($ch);
curl_close($ch);
return $content;
}
$pt\u file\u id=$\u GET['pt\u file\u id'];
$pt_file_name=$_GET['filename'];
$response=pivotalTracker(“https://www.pivotaltracker.com/services/v5/projects/*ID*/stories/*ID*/comments“,$pt\u file\u ID,$pt\u file\u name);
$resArr=array();
$resArr=json_decode($response);
回声“;印刷费($resArr);回声“;
函数pivotalTracker($url、$pt\U文件\U id、$pt\U文件\U名称){
$file_data[]=数组('id'=>$pt_file_id,);
$fileObject=(object)$file\u数据;
$data=数组(
'text'=>'file_attachments/'.$pt_file_id./'.$pt_file_name,
“文件附件”=>$file\u数据,
);
$pivotalAPIToken='XXXX';
$curlHeader=array(“X-TrackerToken:”.$pivotalAPIToken,“内容类型:application/json”);
$options=array(
CURLOPT_HTTPHEADER=>$curlHeader,
CURLOPT_RETURNTRANSFER=>true,
CURLOPT_POST=>TRUE,
CURLOPT_POSTFIELDS=>json_encode($data),
);
$ch=curl\u init($url);
curl_setopt_数组($ch$options);
$content=curl\u exec($ch);
卷曲关闭($ch);
返回$content;
}
您应该指定所需的注释。文件里有什么东西吗?如果是这样,您将需要一些东西来读取xls文件,因为它是用Microsoft sauce编码的。在Pivotal Tracker中,您可以在注释中上载文件.jpg、.xls等,它会创建一个可下载的图标/缩略图。备注:文件附件:根据您提供的链接,您需要单独上传文件。当你上传一个文件时,你会得到一个附件对象。创建新注释时,需要将该对象附加到要发送的数据。谢谢!如果我把文件上传到服务器上,然后通过Curl发送,然后在服务器上删除它会怎么样。我的脚本中的$data数组是什么样子的?您应该指定您想要的注释。文件里有什么东西吗?如果是这样,您将需要一些东西来读取xls文件,因为它是用Microsoft sauce编码的。在Pivotal Tracker中,您可以在注释中上载文件.jpg、.xls等,它会创建一个可下载的图标/缩略图。备注:文件附件:根据您提供的链接,您需要单独上传文件。当你上传一个文件时,你会得到一个附件对象。创建新注释时,需要将该对象附加到要发送的数据。谢谢!如果我把文件上传到服务器上,然后通过Curl发送,然后在服务器上删除它会怎么样。脚本中的$data数组是什么样子的?