wxy1343 / aliyunpan

阿里云盘cli
GNU General Public License v3.0
476 stars 65 forks source link

账号密码登录报错 #35

Open ycgambo opened 3 years ago

ycgambo commented 3 years ago
Traceback (most recent call last):
  File "main.py", line 183, in <module>
    cli()
  File "/Users/weiqi/Library/Python/3.7/lib/python/site-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/Users/weiqi/Library/Python/3.7/lib/python/site-packages/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "/Users/weiqi/Library/Python/3.7/lib/python/site-packages/click/core.py", line 1256, in invoke
    Command.invoke(self, ctx)
  File "/Users/weiqi/Library/Python/3.7/lib/python/site-packages/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/Users/weiqi/Library/Python/3.7/lib/python/site-packages/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "main.py", line 31, in cli
    commander.init(config_file=config_file, depth=depth)
  File "/Users/weiqi/Documents/cli/aliyunpan/aliyunpan/cli/cli.py", line 69, in init
    self._disk.login(username, password)
  File "/Users/weiqi/Documents/cli/aliyunpan/aliyunpan/api/core.py", line 92, in login
    raise LoginFailed
aliyunpan.exceptions.LoginFailed

C675363D-C775-4311-B23D-481E227962FE

wxy1343 commented 3 years ago

阿里云盘改了ua生成规则,登录api暂时不能用

nagilezhou commented 2 years ago

账号密码登录接口啥时候能修好?或者有办法修吗?

wxy1343 commented 2 years ago

账号密码登录接口啥时候能修好?或者有办法修吗?

没办法除非能破解ua参数,或者用selenium来模拟登录

ycgambo commented 2 years ago

用账号密码的,多半是因为怕token过期。 建议写个脚本远程获取refresh_token, 可以托管到github或者gitee上。 过期了更新一下文件就可以了。这是我目前在用的方案

PKC278 commented 2 years ago

用账号密码的,多半是因为怕token过期。 建议写个脚本远程获取refresh_token, 可以托管到github或者gitee上。 过期了更新一下文件就可以了。这是我目前在用的方案

大佬,能给个脚本吗,谢谢

sbwml commented 2 years ago

用账号密码的,多半是因为怕token过期。 建议写个脚本远程获取refresh_token, 可以托管到github或者gitee上。 过期了更新一下文件就可以了。这是我目前在用的方案

大佬,能给个脚本吗,谢谢

首次获取refresh_token 我有在线获取工具,他的原理是通过阿里盘扫码登录页面获取二维码,手机app扫描二维码解析得到refresh_token 信息。

当然我是需要声明一下的,通过这个在线工具获取的 token 是安全的,服务器不会查看或保存你的token信息,这只是提供一个获取token的渠道,获取token的方法千万种,比如浏览器开发人员、安卓客户端日志等。。如果认为我提供的这个方式会导致你的账号不安全,不用它即可,以免给你我造成不必要的尴尬!!!

工具地址:https://easy-token.cooluc.com/

当你完成首次获取token 后,你可以通过 aliyunpan-cli 配合定时任务对配置文件 token 进行自动刷新,脚本参考如下:

/opt/update_token.sh

#!/bin/bash
new_token=$(aliyunpan-cli token --refresh)
echo "refresh_token: '$new_token'"  > ~/.config/aliyunpan.yaml

crontab 定时任务(每隔2小时自动执行一次刷新脚本)

0 */2 * * * bash /opt/update_token.sh

完成后,你可以随时随地使用 aliyunpan-cli 命令进行网盘操作,而不再担心token 会失效问题!

PS:作者这个阿里云cli 管理的项目是真好用!!!给大佬点赞👍 @wxy1343 不过我依然是非常期待官方可提供在centos7 系统上直接运行的 prebuilt 版本,这样就不需要自己build 了。毕竟比起 pip3 install ,二进制单文件它更便于灵活使用。

ycgambo commented 2 years ago

@PKC278 脚本因操作系统和场景而异,我只是提供一个思路。

具体如下:

  1. 按README说明获取token
  2. 将token作为文件上传到开放网络中
  3. 脚本读取此文件,刷新本地token

这样就可以做到token失效时,同步到到其它机器上相对方便点。但是还是需要人工操作

或者可以选择尝试下 sbwml 的方案