`
wen866595
  • 浏览: 268888 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

吃自己的狗粮,用Dropbox Go SDK

阅读更多

 

原文:http://coderbee.net/index.php/go/20130829/427

用Dropbox Go SDK 做的一个上传文件到Dropbox的小应用。

 

获取appKey和设置回调地址

到这个页面https://www.dropbox.com/developers/apps 创建一个应用,应用的类型选择Dropbox API app,在这个页面还可以选择应用能访问的数据范围。

 

应用创建好后就可以在详细页面查看它的的App key,也就是下面要用的。

 

在应用的详细页面,还要设置授权后的回调地址,也就是“ OAuth redirect URIs ”的输入框,这个地址必须是合法的URL,哪怕是不存在的,也就是,可以设置成“https://127.0.0.1/oauth2/authorized”。

 

获取授权码

将上面得到的appKey和回调地址拼接成下面这样: https://www.dropbox.com/1/oauth2/authorize?response_type=token&client_id=abc1234569XYZ&redirect_uri=https://127.0.0.1/oauth2/authorized

 

里面的client_id的值填appKey,redirect_uri填回调地址,把这个地址拷贝到浏览器打开,如果你还没有登录Dropbox,会提醒你登录,登录后大概是这样的界面:

vpsBak4coderbee

 

点击“允许”授权成功后,浏览器会调整,地址栏里的地址会变,拷出来大概是这样的: https://127.0.0.1/oauth2/authorized#access_token=O_xxkdkdkdw2yeidikcppdfdoiffjj&token_type=bearer&uid=158130000

 

上面的access_token: O_xxkdkdkdw2yeidikcppdfdoiffjj就是代码要用的。

 

调用Go SDK


var (
        tokens = map[string]string{
                "access_token": "O_xxkdkdkdw2yeidikcppdfdoiffjj",
                "token_type":   "bearer",
        }
)

func main() {
        flag.Parse()

        args := flag.Args()
        if len(args) < 2 {
                fmt.Printf("Usage: godropbox path/to/locale/file  /path/at/dropbox\n")
                return
        }

        oauth2 := &oauth2.OAuth2{AccessToken: tokens["access_token"], TokenType: tokens["token_type"]}

        dropboxApi := &dropbox.DropboxApi{Signer: oauth2, Root: "dropbox", Locale: "CN"}

        localePath, remotePath := flag.Arg(0), flag.Arg(1)
        _, err := dropboxApi.UploadByChunked(localePath, remotePath, 10485760, 8)
        if err != nil {
                fmt.Printf("error msg: %s\n", err)
                os.Exit(1)
        } else {
                os.Exit(0)
        }
}

go build命令构建成一个可执行文件。在我的VPS上使用: godropbox path/to/locale/file /path/at/dropbox,效果还行。

 

以前用Java SDK写过一个上传的功能,文件上传完了还要很久才退出。

 

 Go程序是编译成单个可执行文件的,不再需要处理依赖啥的。

1
4
分享到:
评论

相关推荐

    dropbox-sdk-java,一个用于Dropbox核心API的Java库。.zip

    **dropbox-sdk-java** 是一个专门为Java开发者设计的开源库,它使得与Dropbox的核心API进行交互变得简单而直观。这个库提供了全面的功能,包括文件上传、下载、管理,以及目录操作,同步,权限控制等,使开发人员...

    Android代码-dropbox-sdk-java

    Dropbox Core SDK for Java 6 A Java library to access Dropbox's HTTP-based Core API v2. This SDK also supports the older Core API v1, but that support will be removed at some point. License: MIT ...

    dropbox-sdk-go-unofficial, Go的非官方 Dropbox SDK.zip

    dropbox-sdk-go-unofficial, Go的非官方 Dropbox SDK 面向 [UNOFFICIAL] 的 Dropbox 用于与Dropbox集成的非官方 ... 使用 go 1.5 测试这菊花什么意思这里没有正式的Dropbox支持Bug 可能也可能无法修复并非所有的SDK功能

    dropbox javaSDK 扎包

    上传的是源码包,不清楚的 私信 ..........

    dropbox-android-sdk-1.6.3

    首先,我们要明确的是,"dropbox-android-sdk-1.6.3"是Dropbox针对Android平台提供的一个软件开发工具包(SDK),它包含了所有必要的库和资源,以便开发者能够轻松地在自己的应用程序中实现与Dropbox的交互。...

    dropbox-sdk-js:Java版官方Dropbox API V2 SDK

    官方的Dropbox SDK for Javascript。 可以在上文档安装通过创建应用通过安装$ npm install --save dropbox从源安装: $ git clone https://github.com/dropbox/dropbox-sdk-js.git$ cd dropbox-sdk-js$ npm install...

    Python 版官方 Dropbox API V2 SDK.zip

    适用于 Python 的官方 Dropbox SDK。可以在阅读文档中找到文档。安装通过开发者控制台创建应用程序。通过pip安装$ pip install dropbox从源安装$ git clone git://github.com/dropbox/dropbox-sdk-python.git$ cd ...

    前端开源库-react-native-dropbox-sdk

    这个库是基于Dropbox JavaScript SDK构建的,该SDK是一个轻量级且使用Promise实现的API接口,适用于node.js和浏览器环境,使得开发者能够方便地在不同平台上与Dropbox云存储服务进行交互。 在React Native应用中...

    用于Python的官方Dropbox API V2 SDK

    可以在通过Developer Console.Install中获取Python.Documentation的offical Dropbox SDK。通过Pip,通过PIP获取应用程序,可以找到:.install从源代码:。在安装中,安装,按照我们的一个示例或阅读文档读取文档 。...

    dropbox-sdk-python:适用于Python的官方Dropbox API V2 SDK

    适用于Python的正式Dropbox SDK。 可以在“找到。安装通过创建应用。 通过安装: $ pip install dropbox 从源安装: $ git clone git://github.com/dropbox/dropbox-sdk-python.git$ cd dropbox-sdk-python$ python ...

    dropbox-sdk-dotnet:.NET的官方Dropbox API V2 SDK

    用于DotNet的官方Dropbox SDK。 可以在上找到文档 安装 通过创建应用 通过安装 PM&gt; Install-Package Dropbox.Api 安装后,请遵循我们的或阅读。 您还可以查看我们的。 例子 我们提供以帮助您开始使用SDK中的许多...

    dropbox的android开发包及文档

    1. **Dropbox Android SDK**:这是Dropbox为Android平台提供的开发工具包,它允许开发者通过Java编程语言与Dropbox API交互。SDK提供了一系列的类和方法,如`DropboxAPI`, `Entry`, `Session`, `AuthActivity`等,...

    dropbox-android-sdk:适用于 Android 的 Dropbox Core API SDK 的 Mavenized 版本

    Dropbox Android SDK 使用入门 在您的构建脚本中包含该库。 请参阅 Maven/Gradle 部分。 您需要首先使用您的消费者密钥和秘密创建一个 AndroidAuthSession。 使用您的会话创建一个 DropboxAPI 对象。 开始开发您...

    dropbox-sdk-java:Dropbox Core API的Java库

    适用于Java的Dropbox Core SDK 8+ 一个Java库,用于访问 。 该SDK还支持较早的 ,但有时会删除该支持。 执照: 文档: 设置 如果您使用的是Maven,则编辑项目的“ pom.xml”并将其添加到部分: &lt; groupId&gt;...

    Laravel开发-dropbox

    `Laravel-Dropbox`库就是将这两者结合的桥梁,使得在Laravel项目中使用Dropbox API变得简单易行。 首先,我们需要安装`Laravel-Dropbox`包。你可以通过Composer,PHP的依赖管理工具,来完成这个任务。在命令行中,...

    dropbox-sdk-ruby:用于Dropbox API v2的Ruby SDK

    适用于Ruby的Dropbox SDK 这是一个小的Ruby库,用于访问新的 。 它提供了一个单独的类Dropbox::Client ,其类具有映射到大多数Dropbox API端点的方法。 当前,支持auth , files和users命名空间中的所有端点。 已...

    Dropbox Core API 的 Java 库 .zip

    向您的项目添加对 Dropbox Java SDK 的依赖如果您使用 Maven,请编辑项目的“pom.xml”并将其添加到以下部分&lt;dependency&gt; &lt;groupId&gt;com.dropbox.core&lt;/groupId&gt; &lt;artifactId&gt;dropbox-core-sdk&lt;/artifactId&gt; ...

    dropbox-sdk-rust:用于Rust的Dropbox SDK

    用于Rust的Dropbox SDK Rust绑定到Dropbox APIv2,由Stone根据官方规范生成。 用于生成代码的Stone SDK和Dropbox API规范分别位于stone和dropbox-api-spec子模块中。使用git submodule init和git submodule update...

    com.dropbox.sdk_1.2.3.jar

    jar包,官方版本,自测可用

    dropbox-php-sdk:PHP一个易于使用PHP SDK与Dropbox V2 API一起使用

    适用于PHP的Dropbox SDK v2 与一起使用的非官方PHP SDK。开始使用转至“Wiki”部分进行安装和入门。API文件执照Dropbox PHP Client已获得MIT许可证(MIT)的许可。

Global site tag (gtag.js) - Google Analytics