-
-
31 May 2017 11:35:18 UTC
- Distribution: App-dropboxapi
- Module version: 2.13
- Source (raw)
- Browse (raw)
- Changes
- Homepage
- How to Contribute
- Repository
- Issues (11)
- Testers (518 / 0 / 0)
- Kwalitee
Bus factor: 1- 100.00% Coverage
- License: unknown
- Perl: v5.8.1
- Activity
24 month- Tools
- Download (15.22KB)
- MetaCPAN Explorer
- Permissions
- Subscribe to distribution
- Permalinks
- This version
- Latest version
and 5 contributors- - Shinichiro Aska
-
Sylvain Filteau
-
aska
-
Andrew Childs
-
Shinichiro Aska
- NAME
- SYNOPSIS
- DESCRIPTION
- Install and Setup
- Sub Commands
- COPYRIGHT
- LICENSE
- COMMUNITY
NAME
App::dropboxapi - command line interface to access Dropbox API
SYNOPSIS
dropbox-api put /tmp/foo.txt dropbox:/Public/
Run
dropbox-api help
for more options.DESCRIPTION
dropbox-api is a command line interface to access Dropbox API.
- ls
- find
- du
- sync
- cp
- mv
- rm
- mkdir
- get
- put
Install and Setup
1. Install
1-a) FreeBSD
pkg_add -r dropbox-api-command
1-b) Ubuntu
sudo apt-get install make gcc libssl-dev wget wget https://raw.github.com/miyagawa/cpanminus/master/cpanm sudo perl cpanm App::dropboxapi
1-c) CentOS
# CentOS 5 sudo yum install gcc gcc-c++ openssl-devel wget # CentOS 6 sudo yum install gcc gcc-c++ openssl-devel wget perl-devel wget https://raw.github.com/miyagawa/cpanminus/master/cpanm sudo perl cpanm App::dropboxapi
1-d) OS X
# Install Command Line Tools for Xcode open https://www.google.com/search?q=Command+Line+Tools+for+Xcode curl -O https://raw.github.com/miyagawa/cpanminus/master/cpanm sudo perl cpanm App::dropboxapi
2. Get API Key and API Secret
https://www.dropbox.com/developers My Apps => Create an App
3. Get Access Token and Access Secret
> dropbox-api setup Please Input API Key: *************** Please Input API Secret: *************** 1. Open the Login URL: https://www.dropbox.com/oauth2/authorize?client_id=*****&response_type=code 2. Input code and press Enter: *************** success! try > dropbox-api ls > dropbox-api find /
4. How to use Proxy
Please use -e option.
> HTTP_PROXY="http://127.0.0.1:8888" dropbox-api setup -e
Sub Commands
help
disp help.
- syntax
-
dropbox-api help [<command>]
Example
> dropbox-api help Usage: dropbox-api <command> [args] [options] Available commands: setup get access_key and access_secret ls list directory contents find walk a file hierarchy du disk usage statistics cp copy file or directory mv move file or directory mkdir make directory (Create intermediate directories as required) rm remove file or directory (Attempt to remove the file hierarchy rooted in each file argument) put upload file get download file sync sync directory (local => dropbox or dropbox => local) Common Options -e enable env_proxy ( HTTP_PROXY, NO_PROXY ) -D enable debug -v verbose -s sandbox mode, but this option has been removed. See 'dropbox-api help <command>' for more information on a specific command.
Example ( command help )
> dropbox-api help ls Name dropbox-api-ls - list directory contents SYNOPSIS dropbox-api ls <dropbox_path> [options] Example dropbox-api ls Public dropbox-api ls Public -h dropbox-api ls Public -p "%d\t%s\t%TY/%Tm/%Td %TH:%TM:%TS\t%p\n" Options -h print sizes in human readable format (e.g., 1K 234M 2G) -p print format. %d ... is_dir ( d: dir, -: file ) %i ... id %n ... name %p ... path_display %P ... path_lower %b ... bytes %s ... size (e.g., 1K 234M 2G) %t ... server_modified %c ... client_modified %r ... rev %Tk ... DateTime 'strftime' function (server_modified) %Ck ... DateTime 'strftime' function (client_modified)
http://search.cpan.org/dist/DateTime/lib/DateTime.pm#strftime_Patterns
ls
file list view.
- alias
-
list
- syntax
-
dropbox-api ls <dropbox_path>
Example
> dropbox-api list /product d - Thu, 24 Feb 2011 06:58:00 +0000 /product/chrome-extentions - 294557 Sun, 26 Dec 2010 21:55:59 +0000 /product/ex.zip
human readable option ( -h )
print sizes in human readable format (e.g., 1K 234M 2G)
> dropbox-api ls /product -h d - Thu, 24 Feb 2011 06:58:00 +0000 /product/chrome-extentions - 287.7KB Sun, 26 Dec 2010 21:55:59 +0000 /product/ex.zip
printf option ( -p )
print format.
> dropbox-api ls /product -p "%d\t%s\t%TY/%Tm/%Td %TH:%TM:%TS\t%p\n" d - 2011/02/24 06:58:00 /product/chrome-extentions - 287.7KB 2010/12/26 21:55:59 /product/ex.zip %d ... is_dir ( d: dir, -: file ) %i ... id %n ... name %p ... path_display %P ... path_lower %b ... bytes %s ... size (e.g., 1K 234M 2G) %t ... server_modified %c ... client_modified %r ... rev %Tk ... DateTime 'strftime' function (server_modified) %Ck ... DateTime 'strftime' function (client_modified)
http://search.cpan.org/dist/DateTime/lib/DateTime.pm#strftime_Patterns
find
recursive file list view.
- syntax
-
dropbox-api find <dropbox_path> [options]
Example
> dropbox-api find /product/google-tasks-checker-plus /product/chrome-extentions/google-tasks-checker-plus/README.md /product/chrome-extentions/google-tasks-checker-plus/src /product/chrome-extentions/google-tasks-checker-plus/src/background.html /product/chrome-extentions/google-tasks-checker-plus/src/external.png /product/chrome-extentions/google-tasks-checker-plus/src/icon-32.png /product/chrome-extentions/google-tasks-checker-plus/src/icon-128.png /product/chrome-extentions/google-tasks-checker-plus/src/icon.gif /product/chrome-extentions/google-tasks-checker-plus/src/jquery-1.4.2.min.js /product/chrome-extentions/google-tasks-checker-plus/src/main.js /product/chrome-extentions/google-tasks-checker-plus/src/manifest.json /product/chrome-extentions/google-tasks-checker-plus/src/options.html /product/chrome-extentions/google-tasks-checker-plus/src/popup.html /product/chrome-extentions/google-tasks-checker-plus/src/reset.css
printf option ( -p )
see also list command's printf option.
du
display disk usage statistics.
- syntax
-
dropbox-api du <dropbox_path> [options]
Example
> dropbox-api du /product -h -d 1 1.1M /product 1.1M /product/chrome-extensions 0B /product/work
human readable option ( -h )
print sizes in human readable format (e.g., 1K 234M 2G)
depth option ( -d )
Display an entry for all files and directories depth directories deep.
sync ( rsync )
recursive file synchronization.
sync from dropbox
dropbox-api sync dropbox:<source_dir> <target_dir> [options]
> dropbox-api sync dropbox:/product/google-tasks-checker-plus/src /tmp/product download /private/tmp/product/external.png download /private/tmp/product/icon-32.png download /private/tmp/product/icon-128.png
sync to dropbox
dropbox-api sync <source_dir> dropbox:<target_dir> [options]
> dropbox-api sync /tmp/product dropbox:/work/src upload background.html /work/src/background.html upload external.png /work/src/external.png upload icon-128.png /work/src/icon-128.png
delete option ( -d )
> dropbox-api sync dropbox:/product/google-tasks-checker-plus/src /tmp/product -d download /private/tmp/product/external.png download /private/tmp/product/icon-32.png download /private/tmp/product/icon-128.png remove background.html.tmp
dry run option ( -n )
> dropbox-api sync dropbox:/product/google-tasks-checker-plus/src /tmp/product -dn !! enable dry run !! download /private/tmp/product/external.png download /private/tmp/product/icon-32.png download /private/tmp/product/icon-128.png remove background.html.tmp
verbose option ( -v )
> dropbox-api sync dropbox:/product/google-tasks-checker-plus/src /tmp/product -dnv remote_base: /product/chrome-extentions/google-tasks-checker-plus/src local_base: /private/tmp/product ** download ** skip background.html download /private/tmp/product/external.png download /private/tmp/product/icon-32.png download /private/tmp/product/icon-128.png skip icon.gif skip jquery-1.4.2.min.js skip main.js skip manifest.json skip options.html skip popup.html skip reset.css ** delete ** skip background.html remove background.html.tmp skip icon.gif skip jquery-1.4.2.min.js skip main.js skip manifest.json skip options.html skip popup.html skip reset.css
cp
copy file or directory.
- alias
-
copy
- syntax
-
dropbox-api cp <source_file> <target_file>
Example
dropbox-api cp memo.txt memo.txt.bak
mv
move file or directory.
- alias
-
move
- syntax
-
dropbox-api mv <source_file> <target_file>
Example
dropbox-api mv memo.txt memo.txt.bak
mkdir
make directory.
*no error if existing, make parent directories as needed.*
- alias
-
mkpath
- syntax
-
dropbox-api mkdir <directory>
Example
dropbox-api mkdir product/src
rm
remove file or directory.
*remove the contents of directories recursively.*
- alias
-
rmtree
- syntax
-
dropbox-api rm <file_or_directory>
Example
dropbox-api rm product/src
get
download file from dropbox.
- alias
-
dl, download
- syntax
-
dropbox-api get dropbox:<dropbox_file> <file>
Example
dropbox-api get dropbox:/Public/foo.txt /tmp/foo.txt
put
upload file to dropbox.
- alias
-
up, upload
- syntax
-
dropbox-api put <file> dropbox:<dropbox_dir>
Example
dropbox-api put /tmp/foo.txt dropbox:/Public/
verbose option ( -v )
A progress bar is displayed.
dropbox-api put /tmp/1GB.dat dropbox:/Public/ -v 100% [=====================================================================================>]
Tips
Retry
#!/bin/bash command='dropbox-api sync dropbox:/test/ /Users/aska/test/ -vde' NEXT_WAIT_TIME=0 EXIT_CODE=0 until $command || [ $NEXT_WAIT_TIME -eq 4 ]; do EXIT_CODE=$? sleep $NEXT_WAIT_TIME let NEXT_WAIT_TIME=NEXT_WAIT_TIME+1 done exit $EXIT_CODE
COPYRIGHT
Copyright 2012- Shinichiro Aska
The standalone executable contains the following modules embedded.
LICENSE
Released under the MIT license. http://creativecommons.org/licenses/MIT/
COMMUNITY
- https://github.com/s-aska/dropbox-api-command - source code repository, issue tracker
Module Install Instructions
To install App::dropboxapi, copy and paste the appropriate command in to your terminal.
cpanm App::dropboxapi
perl -MCPAN -e shell install App::dropboxapi
For more information on module installation, please visit the detailed CPAN module installation guide.