0

我正在尝试通过 Egnyte API 将文件上传到帐户。CURL 命令说:

curl -v --request POST\
  -H "Authorization: Bearer 2v8q2bc6uvxtgghwmwvnvcp4"\
  --upload-file\
 ~/Desktop/test.txt https://acme.egnyte.com/pubapi/v1/fs-content/Shared/Documents/test.txt

有人可以告诉我如何通过 PHP 发布它并获取 CURL 调用返回的 JSON 响应吗?

4

2 回答 2

1

Egnyte 有显示如何使用 PHP 和 curl 上传文件的示例代码:https ://developers.egnyte.com/samplecode 。

具体看一下 Anonymous PHP Uploader 示例中的 EgnyteClient.php 文件。

您发布的 curl 请求是来自网站的示例,旨在从命令行运行。要在您的域上使用它,请确保执行以下操作:

  • 将令牌 2v8q2bc6uvxtgghwmwvnvcp4 更改为您从身份验证端点获得的令牌。
  • 将示例“acme”域的引用更新到您的 Egnyte 域。
  • 更改您正在上传的文件的路径以及您希望在 Egnyte 中上传文件的路径。
于 2014-11-03T00:08:34.393 回答
1

我终于解决了。很抱歉发布解决方案。下面是我创建的将文件上传到服务器的函数:

require('functions/egnyte/lib/curl.php');
require('functions/egnyte/lib/curl_response.php');
require('functions/egnyte/EgnyteClient.php');

function doUpload() {
    $domain = 'yourdomain';
    $folder = '/Shared/our folder name/';

    $oauthToken = 'your oauth token';
    $fileBinaryContents = file_get_contents($_FILES['filedata']['tmp_name']);
    $fileName = $_FILES['filedata']['name'];

    // instantiate an Egnyte Client with the domain and oAuth token for the user with which the upload will be performed
    $egnyte = new EgnyteClient($domain, $oauthToken);

    // perform the upload and get the response from the server
    $response = $egnyte->uploadFile($folder, $fileName, $fileBinaryContents);
}

如果有人遇到任何问题/问题,请务必告诉我。我可以帮忙。

供参考:

您也可以联系:

  1. 如何获取 oauth 令牌。
  2. 在您的网站页面上列出您的 egnyte 帐户的文件夹。
于 2015-01-22T17:15:34.360 回答