2

我想从 Dropbox 下载文件,并且需要代表 Dropbox 用户将其保存在我的服务器中。我尝试使用 curl 和 file_get_contents。但未能成功。我是否需要使用 dropbox 的任何 api 方法?我可以从浏览器下载文件,但我需要将它保存在服务器中。我的应用程序是一种文件共享。

4

4 回答 4

2

Dropbox 浏览器客户端是为注册用户开发的,用户需要登录才能访问那里的文件。

但是正如您所说的要访问 Dropbox 文件,代表用户,您需要使用 Dropbox Core API,您可以使用PHP Dropbox SDK来构建您自己的应用程序。我不认为有任何其他方式。

正如您所提到的,您想代表用户从 Dropbox 访问文件,我想您可能会在没有用户交互的情况下考虑它,但其中有一个问题,Dropbox 使用OAuth 1.0 或 2.0,并且在这两个方法,你需要有用户交互。(更多阅读在这里

你也说过,你的应用程序是一种File Sharing,所以请看一下Dropbox App Review Process,它禁止公开搜索的File Share应用程序。

不要构建文件共享应用程序

Dropbox 不支持在 Dropbox 之上构建可公开搜索的文件共享网络。

于 2015-01-20T18:35:56.030 回答
2

您可以使用文件的 Dropbox 公共链接并使用file_get_contentsfile_put_contents. 下面的香草 PHP 示例。

<?php
    // Custom Dropbox link. Notice the ?dl=1 at the end. 
    $url = file_get_contents( 'https://www.dropbox.com/s/hash/file.mp4?dl=1' );

    // Your new file name 
    $file = "downloaded-video.mp4";

    // open, write and close the new file
    file_put_contents($file, $url);
?>

来自服务提供商的 API 通常是访问其数据的最佳方式。这种方法当然更好。

我唯一要注意的是:小心不要破坏 Dropbox 的服务条款。

于 2016-10-14T19:53:57.183 回答
1

Dropbox 选择器是从 Dropbox 获取文件的最快方式

https://www.dropbox.com/developers/chooser

在演示部分下,选择直接链接并选择保管箱文件以创建直接链接。

登录到 SSH 并导航到要下载并粘贴命令的文件夹

curl -O 'url'
于 2018-08-25T06:14:29.483 回答
0

你可以使用/下载。它将返回如下响应:

{
"name": "Prime_Numbers.txt",
"id": "id:a4ayc_80_OEAAAAAAAAAXw",
"client_modified": "2015-05-12T15:50:38Z",
"server_modified": "2015-05-12T15:50:38Z",
"rev": "a1c10ce0dd78",
"size": 7212,
"path_lower": "/homework/math/prime_numbers.txt",
"path_display": "/Homework/math/Prime_Numbers.txt",
"sharing_info": {
    "read_only": true,
    "parent_shared_folder_id": "84528192421",
    "modified_by": "dbid:AAH4f99T0taONIb-OurWxbNQ6ywGRopQngc"
},
"property_groups": [
    {
        "template_id": "ptid:1a5n2i6d3OYEAAAAAAAAAYa",
        "fields": [
            {
                "name": "Security Policy",
                "value": "Confidential"
            }
        ]
    }
],
"has_explicit_shared_members": false,
"content_hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"

}

在此处查看完整的详细信息:https ://www.dropbox.com/developers/documentation/http/documentation#files-download

于 2017-08-03T11:38:01.203 回答