onedrivecmd - 全平台的 Onedrive 命令行客户端 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
cnbeining
V2EX    分享创造

onedrivecmd - 全平台的 Onedrive 命令行客户端

  •  1
     
  •   cnbeining 2016-09-25 13:15:36 +08:00 9534 次点击
    这是一个创建于 3327 天前的主题,其中的信息可能已经有所发展或是发生改变。

    突然发现,主流网盘几乎都有命令行客户端,但是 Onedrive 竟然没有。

    唯一 Linux 下有的是个同步客户端:但是我服务器要有那么大硬盘还扯啥云存储啊。

    正好 Onedrive 要换成新版 API ,乘机用 SDK 撸一个。

    照 megacmd 扒的功能,偶尔有点不一样。

    说明里列出的功能都是好的。和 megacmd 比较,没列出的功能就是没写好或者写好了不怎么好使的或者限于 SDK/API 限制这事没法做的。

    Python 撸的,讲道理不应该挑 Python 版本和平台(虽然我主要在 2.7 下测试),但是注意下载时暂时需要用 aria2 才能看见进度条。以后有可能会撸一个带进度条的简易下载器替代掉 SDK 内置的下载,如果有好的这种项目欢迎推荐。

    比 Web 版多了离线下载功能,当然不带秒传的那种。

    服务器可以把上传分片开大以疯狂加速(默认 10MiB ),但是 API 限制不能超过 60MiB 一片,应该近乎跑满 G 口轻松加愉快了。

    下一步要写的:

    • move 暂时不好使呢

    • 递归列目录不知道哪写错了,半夜 3 点多也无心 debug 了

    • sync 没想好怎么写才能不慢的要死,求思路

    • 别的我也不知道这样一个客户端还需要什么了。

    Github : https://github.com/cnbeining/onedrivecmd

    极度欢迎 star fork 和 issue 。

    第 1 条附言    2016-09-27 11:54:23 +08:00
    加上中文文档,支持 Office 365 了。

    同步我不是很关心,等谁提 PR 。

    别的 bug 都比较小,慢慢修。

    欢迎 star 和 fork ,丢 issue 和 PR 来吧。
    14 条回复    2017-11-27 15:45:25 +08:00
    designer
        1
    designer  
       2016-09-25 14:24:50 +08:00
    OneDrive 用户。
    虽然 CMD 不使用也来支持一下。
    ossphil
        2
    ossphil  
       2016-09-25 14:55:13 +08:00 via Android
    赞! onedrive 相对其他网盘的优势就是国内客户端可用+office 365 用户有 1T 的空间,不敢想啥自行车了
    EricCartman
        3
    EricCartman  
       2016-09-25 16:10:08 +08:00
    Traceback (most recent call last):
    File "onedrivecmd.py", line 75, in <module>
    main()
    File "onedrivecmd.py", line 44, in main
    save_session(client, path = args.conf)
    File "/home/xxx/software/onedrivecmd/utils/session.py", line 47, in save_session
    client.auth_provider.save_session(path = path)
    File "/home/xxx/.local/lib/python2.7/site-packages/onedrivesdk/auth_provider.py", line 314, in save_session
    self._session.save_session(**save_session_kwargs)
    File "/home/xxx/.local/lib/python2.7/site-packages/onedrivesdk/session.py", line 84, in save_session
    with open(path, "wb") as session_file:
    IOError: [Errno 2] No such file or directory: '~/onedrive.pickle'
    EricCartman
        4
    EricCartman  
       2016-09-25 16:10:26 +08:00
    Ubuntu Gnome 16.04
    EricCartman
        5
    EricCartman  
      &bsp;2016-09-25 16:20:37 +08:00
    可以了,感觉路径识别有点问题,配置文件放当前目录下就行了
    cnbeining
        6
    cnbeining  
    OP
       2016-09-27 11:55:41 +08:00
    @ossphil 支持 Office 365 了。


    @EricCartman 我也不知道为什么就死活不能这样做,所以干脆把默认位置换成当前目录了。

    配置文件整个改了,这次升级需要重新 init 。
    ershiwo
        7
    ershiwo  
       2016-09-27 22:45:02 +08:00
    Windows 用户过来顶一下。文件占位符功能(现在叫 On-Demand Sync )就要回来了,这个才是极好的。
    abmin521
        8
    abmin521  
       2016-10-07 20:26:45 +08:00
    cnbeining
        9
    cnbeining  
    OP
       2016-10-08 06:49:18 +08:00
    @abmin521 就是因为这个东西是老 API 注释语焉不详 我才自己动手的。
    geelaw
        10
    geelaw  
       2017-04-24 05:08:28 +08:00
    我之前为了整理照片写过一段专门用来整理照片的,刚好有 recursive 下载文件夹的框架和 move 的命令,希望能对你有帮助

    https://github.com/GeeLaw/1drv-layout

    我个人对( either repo 的) star 和 fork 没什么兴趣。但是如果你觉得有用,并进一步产生兴趣,您可以移步相关的一篇博文 https://geelaw.blog/entries/homemade-1drv-layout/

    @ershiwo 如果你等不及 On-Demand Sync 也可以来看看土法炮制的用类似占位符机制做的整理照片的工具。
    asuraa
        11
    asuraa  
       2017-11-27 14:33:17 +08:00
    楼主还在么
    https://github.com/skilion/onedrive/issues/244

    Onedrive for Business 好像不可以呀
    cnbeining
        12
    cnbeining  
    OP
       2017-11-27 15:21:15 +08:00
    @luodaoyi 我无法对其他人的 repo 负责,请联系原 repo 的开发者。

    onedrivecmd 肯定是可以在 Business 用的,毫无疑问,久经测试。
    asuraa
        13
    asuraa  
       2017-11-27 15:24:25 +08:00
    @cnbeining

    明白了原来要用这个
    onedrivecmd init_business
    asuraa
        14
    asuraa  
       2017-11-27 15:45:25 +08:00
    @cnbeining 不能批量同步啊 我自己注册的 azure 不能用 rclone 妈蛋好像 azure 的 api 又变了 授权就显示发生错误
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     938 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 19:53 PVG 03:53 LAX 11:53 JFK 14:53
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86