标签: dropbox-api

在Dropbox上更改文件时获取通知

Dropbox是否有办法通知文件何时更改,即新上传文件的到达或文件是否已更改.

dropbox dropbox-api

25
推荐指数
5
解决办法
3万
查看次数

如何使用Delphi中的DropBox REST API复制文件

我似乎没有管理使用dropbox api操作的文件副本.我可以成功授权我的客户端,下载和上传文件.复制操作需要使用POST方法,我认为这是我产生错误请求的地方.我正在定义OAuth身份验证的POST方法,并使用Indy TIdHTTP发布请求,但我总是收到错误代码403 - 权限被拒绝.

这是dropbox api描述:https://www.dropbox.com/developers/reference/api#fileops-copy

这是我的代码的一部分:

 ParamStr := Format('root=%s&from_path=%s&to_path=%s', [Root, EncodeFileName(FromPath), EncodeFileName(ToPath)]);
 URL := 'https://api.dropbox.com/1/fileops/copy' + '?' + ParamStr;

 Consumer := TOAuthConsumer.Create(Key, Secret);
 AToken := TOAuthToken.Create(fToken, fTokenSecret);
 HMAC := TOAuthSignatureMethod_HMAC_SHA1.Create;
 ARequest := TOAuthRequest.Create('');
 try
  ARequest.HTTPURL := URL;
  ARequest.Method := 'POST';
  ARequest := ARequest.FromConsumerAndToken(Consumer, AToken, '');
  ARequest.Sign_Request(HMAC, Consumer, AToken);


  Params := TStringList.Create;
  try
   Params.Text := ParamStr + '&' + ARequest.GetString;
   HTTP.Post(URL, Params);
  finally
   Params.Free;
  end;
Run Code Online (Sandbox Code Playgroud)

delphi oauth indy dropbox-api

22
推荐指数
1
解决办法
4237
查看次数

以编程方式从共享Dropbox文件夹链接下载内容

我正在构建一个应用程序来自动触发与用户共享的Dropbox文件的下载(共享文件/文件夹链接).这是直截了当地实现对Dropbox的链接文件,概述这里.

不幸的是,这对共享文件夹不起作用.任何人都有我的建议

  • 下载所有内容(可能会获取其中的文件链接列表以下载?)
  • 要么
  • 下载文件夹的zip

目前我可以访问网址并进行屏幕抓取以尝试获取内容列表,但链接的Dropbox博客条目中描述的解决方案的优势在于不需要抓取,因此它更加可靠和高效.

python dropbox dropbox-api

21
推荐指数
2
解决办法
9490
查看次数

使用Dropbox API上传Android文件

如何使用Dropbox API将文件(图形,音频和视频文件)上传到Dropbox?我按照Dropbox SDK Android页面上的教程进行操作,可以使样本生效.但是现在我想要上传一个实际的File对象而不是String,而是在苦苦挣扎.

示例代码没有任何问题,看起来像这样:

    String fileContents = "Hello World!";
ByteArrayInputStream inputStream = new ByteArrayInputStream(fileContents.getBytes());
try {
    Entry newEntry = mDBApi.putFile("/testing_123456.txt", inputStream, fileContents.length(), null, null);
} catch (DropboxUnlinkedException e) {
    Log.e("DbExampleLog", "User has unlinked.");
} catch (DropboxException e) {
    Log.e("DbExampleLog", "Something went wrong while uploading.");
}   
Run Code Online (Sandbox Code Playgroud)

但是当我尝试更改它并使用以下代码上传实际文件时:

    File tmpFile = new File(fullPath, "IMG_2012-03-12_10-22-09_thumb.jpg");

// convert File to byte[]
ByteArrayOutputStream bos = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(bos);
oos.writeObject(tmpFile);
bos.close();
oos.close();
byte[] bytes = bos.toByteArray();

ByteArrayInputStream inputStream = …
Run Code Online (Sandbox Code Playgroud)

android inputstream dropbox android-file dropbox-api

19
推荐指数
2
解决办法
3万
查看次数

Laravel 5:重定向到localhost/server外部的外部链接

我想用laravel 5和dropbox API构建一个应用程序,我希望在你登陆主页时显示API允许/取消警告,而不是当你点击按钮时.我尝试了不同的方法,但我无法使它工作.

public function start(){
        session(['user_id'=>1]);
        $dKey = 'key';
        $dSecret = 'secret';
        $appName = 'app';

        $appInfo = new Dropbox\AppInfo($dKey,$dSecret);

        //store csrf token
        $tokenStore = new  Dropbox\ArrayEntryStore($_SESSION,'dropbox-auth-csrf-token');
        //define auth details
        $this->webAuth = new Dropbox\WebAuth($appInfo,$appName,'http://localhost:8000/dropbox/finish',$tokenStore);
        $this->checkSession();
    }

    public function checkSession(){
        $users = User::where('id','=',session('user_id'))->get();

        if(isset($user[0]->dropbox_token)){

        }
        else{
            $url = $this->webAuth->start();

            //return Redirect::to($url);
            //return Redirect::away($url);
            //header('Location : '.$url);
        }

    }
Run Code Online (Sandbox Code Playgroud)

$ url中的链接存在且有效.

这些(最后3个评论方法)是我尝试的方法,包括返回重定向($ url),是否可以这样做或者我是否在浪费时间?请帮助我.

php dropbox-api laravel-5

19
推荐指数
2
解决办法
3万
查看次数

PHP x64不支持x64整数..(Wamp&dropbox API)

我正在尝试连接到安装了WAMP x64的Dropbox API.

这是我从Dropbox php API获得的Dropbox身份验证文件的例外

致命错误:未捕获异常'Exception',消息'Dropbox SDK使用64位整数,但看起来我们正在运行不支持64位整数的PHP版本(PHP_INT_MAX = 2147483647).库:C:\ Users\Albert\Desktop\www\test\dropbox-sdk\Dropbox\RequestUtil.php中的"C:\ Users\Albert\Desktop\www\test\dropbox -sdk\Dropbox\RequestUtil.php"'在第15行

它说,我检查了我的PHP版本

架构x64

我应该怎么做才能使我的Dropbox应用程序工作?非常感谢.

php wamp wampserver dropbox-api dropbox-php

18
推荐指数
2
解决办法
7657
查看次数

无需基于浏览器的oauth身份验证即可将文件从节点js传输到Dropbox

我正在从heroku运行一个基于nodejs + express的api服务器并使用dropbox-js库.这是我想做的事情:

  1. 用户点击特定的api端点并启动该过程.
  2. 通过节点进程生成一些文本文件并将其保存在服务器上
  3. 使用我自己的凭据(用户和Dropbox应用程序)将这些文件传输到我拥有的Dropbox.

当随机用户需要这样做时,永远不会出现这种情况.这是一个团队帐户,这是一个内部工具.

绊倒我的部分是dropbox想要打开浏览器窗口并获得我的许可以连接到应用程序.问题是,当进程在heroku实例上运行时,我显然无法单击该按钮.

有没有办法让我在节点中授权访问应用程序?

我觉得我可能会使用phantomJS进程点击按钮 - 但它看起来太复杂了,如果可能的话我想避免使用它.

这是我的验证码:

    // Libraries
    var Dropbox         = require('dropbox');

    var DROPBOX_APP_KEY    = "key";
    var DROPBOX_APP_SECRET = "secret";

    var dbClient = new Dropbox.Client({
      key: DROPBOX_APP_KEY, secret: DROPBOX_APP_SECRET, sandbox: false
    });

    dbClient.authDriver(new Dropbox.Drivers.NodeServer(8191));

    dbClient.authenticate(function(error, client) {
      if (error) {
        console.log("Some shit happened trying to authenticate with dropbox");
        console.log(error);
        return;
      }


      client.writeFile("test.txt", "sometext", function (error, stat) {
        if (error) {
          console.log(error);
          return;
        }

        console.log("file saved!");
        console.log(stat);
      });
    });
Run Code Online (Sandbox Code Playgroud)

node.js express dropbox-api

17
推荐指数
2
解决办法
6540
查看次数

将Linux(CLI)上的文件上传到Dropbox(通过bash/sh)?

我需要通过cron(每小时)将文件保存(并覆盖)到我的Dropbox帐户.该文件需要存储在预定义的位置(与其他一些用户共享).

我已经看到了创建一个Dropbox App,但创建自己的Dropbox文件夹的可能性.

还看了一下,Dropbox Saver但对于浏览器而言似乎.

我在想(希望)超轻量级的东西,很长的路线CURL,所以我不需要安装库.只需一个简单的sh脚本就可以了.我只需要PUT文件(覆盖),不需要读取(GET)它.

是通过Dropbox 开发人员API文档,但有点丢失.

有人提示吗?

linux bash curl dropbox-api

17
推荐指数
2
解决办法
8723
查看次数

从GAE将文件写入Dropbox帐户

我正在尝试从GAE应用程序创建Dropbox.com文件夹中的文件.我已经完成了注册Dropbox应用程序的所有步骤,并在我的开发机器上本地安装了Dropbox本地的Python SDK.(请参阅dropbox.com API).当我在本地计算机上的Dropbox SDK中使用cli_client.py测试脚本访问dropbox时,它完全可以正常工作 - 可以'放'文件等.

我现在想开始在GAE环境中工作,所以事情变得有点棘手.一些帮助会很有用.

对于那些熟悉Dropbox API代码的人,到目前为止我遇到了以下问题:

问题1

rest.py Dropbox API模块使用pkg_resources来获取本地计算机安装的site-packages中安装的证书.我换了

TRUSTED_CERT_FILE = pkg_resources.resource_filename(__name__, 'trusted-certs.crt')
Run Code Online (Sandbox Code Playgroud)

TRUSTED_CERT_FILE = file('trusted-certs.crt')
Run Code Online (Sandbox Code Playgroud)

并将cert文件放在我的GAE应用程序目录中.也许这不太对劲; 请参阅下面的验证错误代码.

问题2

session.py的Dropbox API模块使用OAuth的模块,所以我改变了包括对AppEngine上的OAuth.

但提出了一个例外,即GAE的oauth没有Dropbox session.py模块使用的OAuthConsumer方法.所以我下载了oauth 1.0并添加到我的应用程序中,现在导入这个而不是GAE oauth.

问题3

GAE ssl模块似乎没有CERT_REQUIRED属性.

这是一个常数,所以我改变了

self.cert_reqs = ssl.CERT_REQUIRED
Run Code Online (Sandbox Code Playgroud)

self.cert_reqs = 2
Run Code Online (Sandbox Code Playgroud)

这在调用时使用

ssl.wrap_socket(sock, cert_reqs=self.cert_reqs, ca_certs=self.ca_certs)
Run Code Online (Sandbox Code Playgroud)

授权错误

但我仍然无法连接到Dropbox:

Status: 401
Reason: Unauthorized
Body: {"error": "Authentication failed"}
Headers: [('date', 'Sun, 19 Feb 2012 15:11:12 GMT'), ('transfer-encoding', 'chunked'), ('connection', 'keep-alive'), ('content-type', 'application/json'), ('server', 'dbws')]
Run Code Online (Sandbox Code Playgroud)

google-app-engine dropbox-api

16
推荐指数
1
解决办法
3813
查看次数

错误:无法在会话中找到请求令牌

我在主要护照回购中发现了一些问题,但是,我认为这主要与这个特定策略有关,因为我能够使用passport-google-oauth策略成功进行身份验证.

Error: failed to find request token in session
    at Strategy.OAuthStrategy.authenticate (/home/glug/application/node_modules/passport-dropbox/node_modules/passport-oauth/lib/passport-oauth/strategies/oauth.js:124:54)
    at attempt (/home/glug/application/node_modules/passport/lib/passport/middleware/authenticate.js:243:16)
    at Passport.authenticate (/home/glug/application/node_modules/passport/lib/passport/middleware/authenticate.js:244:7)
    at callbacks (/home/glug/application/node_modules/express/lib/router/index.js:161:37)
    at param (/home/glug/application/node_modules/express/lib/router/index.js:135:11)
    at pass (/home/glug/application/node_modules/express/lib/router/index.js:142:5)
    at Router._dispatch (/home/glug/application/node_modules/express/lib/router/index.js:170:5)
    at Object.router (/home/glug/application/node_modules/express/lib/router/index.js:33:10)
    at Context.next (/home/glug/application/node_modules/express/node_modules/connect/lib/proto.js:190:15)
    at Context.actions.pass (/home/glug/application/node_modules/passport/lib/passport/context/http/actions.js:77:8)
Run Code Online (Sandbox Code Playgroud)

我使用redis作为会话存储,但是,即使在消除了它之后,仍然会出现相同的错误消息.

var DropboxStrategy = require('passport-dropbox').Strategy;

app.configure(function(){
  app.set('port', config.express.port);
  app.use(express.favicon());
  app.use(express.logger('dev'));
  app.use(express.bodyParser());
  app.use(express.methodOverride());
  app.use(express.cookieParser());
        app.use(express.session({
//        store: new RedisStore({ client: redis}),
        secret: config.express.secret
        }));
        app.use(passport.initialize());
        app.use(passport.session());
  app.use(app.router);
});

passport.serializeUser(function(user, done) {
//    console.log('Serializing: ' + JSON.stringify(user));
    done(null, user);
});

passport.deserializeUser(function(obj, done) { …
Run Code Online (Sandbox Code Playgroud)

node.js express dropbox-api passport.js

16
推荐指数
1
解决办法
5890
查看次数