Box.com文件在php上传

时间:2015-12-14 10:43:57

标签: php box-api

我正在整合Box.com Api从我的网站上传文件。

<form action="" method="post" enctype="multipart/form-data">
    <input type="file" name="boxap"  /><input type="submit" name="sub" />
</form>
<?php 
    $tmpfile = $_FILES['boxap']['tmp_name'];
    $filename = basename($_FILES['boxap']['name']);

    $_POST['boxap'] = '@'.$tmpfile;

    $upload_url = 'https://upload.box.net/api/1.0/upload/token/folderid';
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $upload_url);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_HEADER, true);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $_POST); 
    $response = curl_exec($ch);
    curl_close($ch);

    echo $response;
?>

我有令牌,但我在哪里可以获得文件夹ID?另外,方法是我将文件上传到box.com 请帮忙

1 个答案:

答案 0 :(得分:0)

我在哪里可以获得文件夹ID?

点击folder API endpoint抓取文件夹详细信息。通过将FOLDER_ID作为0传递,您将获得根文件夹,以便您可以遍历子项以查找文件夹。这些ID不会改变,因此您可以在本地存储它们。

curl https://api.box.com/2.0/folders/FOLDER_ID -H "Authorization: Bearer ACCESS_TOKEN"

此外,我将文件上传到box.com

的方法还可以

当然,它可以发布到box.com。我不确定你在问什么,但使用cURL很好。它用throughout their documentation。但是,您似乎缺少一些多部分POST数据;

  • attributes
    • name - 文件名称
    • parent - 正在上传的文件夹对象
      • id - 父母的孩子。指定父对象的fold_id。使用0作为根文件夹。
  • file

curl https://upload.box.com/api/2.0/files/content \
  -H "Authorization: Bearer ACCESS_TOKEN" -X POST \
  -F attributes='{"name":"tigers.jpeg", "parent":{"id":"11446498"}}' \
  -F file=@myfile.jpg