Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

阿里官方OpenAPI接口 v0.3.0 Beta测试版本 #396

Closed
xiaoyaofenfen opened this issue Mar 3, 2024 · 28 comments
Closed

阿里官方OpenAPI接口 v0.3.0 Beta测试版本 #396

xiaoyaofenfen opened this issue Mar 3, 2024 · 28 comments

Comments

@xiaoyaofenfen
Copy link
Collaborator

xiaoyaofenfen commented Mar 3, 2024

大家好,经过了近两个月的开发,终于在本程序中集成了阿里官方OpenAPI接口。目前 aliyunpan 程序全部的核心功能都用阿里官方Open接口重写了。

说明

由于阿里官方Open 接口很多功能目前还没有开放(例如相册、回收站等),所以为了尽可能保持本程序功能不受影响,aliyunpan 采用了阿里官方Open 接口+网页Web端接口融合的方案。
(1)阿里OpenAPI接口负责基础核心部分功能:文件操作、下载、上传。是的,彻底解决文件超过100MB就无法下载的问题。
(2)网页Web端接口负责其他附加功能:相册、回收站、分享

关于登录

目前登录全部采用网页登录,由于aliyunpan 融合了阿里官方Open 接口+网页Web端接口,所以你需要进行两次登录
输入 login 命令
image

复制到浏览器打开链接,会跳转到阿里 Open 接口授权登录页面,点击允许完成第一次登录
image

然后页面会自动跳转到网页接口登录页面,使用阿里APP 扫码完成第二次登录
image

然后切换回 aliyunpan程序,按下 enter 按键完成登录即可
image

关于公测

由于本次版本改动太大,我实在是没有足够的时间对所有的功能进行全面测试,特新增本 Issue 进行测试问题的跟进,待核心功能稳定后再进行正式版本发布,测试版本问题请直接在本 issue 进行回复反馈。

测试版本下载(Beta1)

aliyunpan-v0.3.0-Beta1-darwin-macos-amd64.zip
aliyunpan-v0.3.0-Beta1-darwin-macos-arm64.zip
aliyunpan-v0.3.0-Beta1-linux-amd64.zip
aliyunpan-v0.3.0-Beta1-linux-arm64.zip
aliyunpan-v0.3.0-Beta1-linux-armv7.zip
aliyunpan-v0.3.0-Beta1-windows-x64.zip
aliyunpan-v0.3.0-Beta1-windows-x86.zip

@xiaoyaofenfen xiaoyaofenfen pinned this issue Mar 3, 2024
@xiaoyaofenfen
Copy link
Collaborator Author

阿里还算良心,测试下载速度非常不错,均值10MB/s 应该是有的😂
image

@Xi-Gong
Copy link

Xi-Gong commented Mar 4, 2024

作者大大,这个接口改动后需要授权登录,登录的信息会经过第三方服务器吗或者被一些网盘账号代理,还是直接给你的客户端授权,没有中间代理,比较关注隐私问题。

@xiaoyaofenfen
Copy link
Collaborator Author

作者大大,这个接口改动后需要授权登录,登录的信息会经过第三方服务器吗或者被一些网盘账号代理,还是直接给你的客户端授权,没有中间代理,比较关注隐私问题。

目前拓扑是

aliyunpan客户端 <-> cloudflare https证书代理 <-> 服务器

当前这个拓扑算是比较安全的了,我们其他项目也是这么用很多年了,应该没啥问题。而且你在阿里APP上是可以取消授权的,取消授权后token就失效了

@sbwml
Copy link

sbwml commented Mar 4, 2024

请问切换到 openapi 后,如何愉快地保存登录信息?因为有在 github action 使用aliyunpan cli 的需求,肯定是做不到打开连接去登录的。

而老版本只需一个可用的 token 就能登录,不知道切换到 openapi 后,怎么才能在 github action 上愉快的登录上去?

像这样:https://github.com/sbwml/builder/actions/runs/8132411447/job/22223616657#step:17:29

@xiaoyaofenfen
Copy link
Collaborator Author

请问切换到 openapi 后,如何愉快地保存登录信息?因为有在 github action 使用aliyunpan cli 的需求,肯定是做不到打开连接去登录的。

而老版本只需一个可用的 token 就能登录,不知道切换到 openapi 后,怎么才能在 github action 上愉快的登录上去?

像这样:https://github.com/sbwml/builder/actions/runs/8132411447/job/22223616657#step:17:29

这确实是个问题,如果是全新第一次登录肯定是没法绕开阿里的官方授权页面的。
不过有个折中的方法,可以先在其他地方先完成第一次登录,然后我们做个基于已登录的凭据用于在其他地方,例如github action,进行快速登录的功能,应该能满足这个场景

@sbwml
Copy link

sbwml commented Mar 4, 2024

这确实是个问题,如果是全新第一次登录肯定是没法绕开阿里的官方授权页面的。 不过有个折中的方法,可以先在其他地方先完成第一次登录,然后我们做个基于已登录的凭据用于在其他地方,例如github action,进行快速登录的功能,应该能满足这个场景

就是说我可以在某一公网服务器上进行登录操作,之后在 github action 需要时通过只有自己知道的方式把服务器已登录的凭据拿到 github action 上使用。

那么openai 它的登录凭据是否有有效期的?如果存在有效期一般在服务器上刷新凭据的间隔是多久一次合适?

@tickstep
Copy link
Owner

tickstep commented Mar 4, 2024

这确实是个问题,如果是全新第一次登录肯定是没法绕开阿里的官方授权页面的。 不过有个折中的方法,可以先在其他地方先完成第一次登录,然后我们做个基于已登录的凭据用于在其他地方,例如github action,进行快速登录的功能,应该能满足这个场景

就是说我可以在某一公网服务器上进行登录操作,之后在 github action 需要时通过只有自己知道的方式把服务器已登录的凭据拿到 github action 上使用。

那么openai 它的登录凭据是否有有效期的?如果存在有效期一般在服务器上刷新凭据的间隔是多久一次合适?

票据保存在config文件里面,也就是说如果你直接把config文件拷过去的话是直接能用了不用登录。一次token两个小时有效,过期之前刷新能一直保持90天有效,90天后必须重新登录了

@sbwml
Copy link

sbwml commented Mar 4, 2024

这确实是个问题,如果是全新第一次登录肯定是没法绕开阿里的官方授权页面的。 不过有个折中的方法,可以先在其他地方先完成第一次登录,然后我们做个基于已登录的凭据用于在其他地方,例如github action,进行快速登录的功能,应该能满足这个场景

就是说我可以在某一公网服务器上进行登录操作,之后在 github action 需要时通过只有自己知道的方式把服务器已登录的凭据拿到 github action 上使用。
那么openai 它的登录凭据是否有有效期的?如果存在有效期一般在服务器上刷新凭据的间隔是多久一次合适?

票据保存在config文件里面,也就是说如果你直接把config文件拷过去的话是直接能用了不用登录。一次token两个小时有效,过期之前刷新能一直保持90天有效,90天后必须重新登录了

好的了解,那 openapi 也没有使用瓶颈了。

@xiaoyaofenfen
Copy link
Collaborator Author

不是吧,阿里OpenAPI 接口貌似没有限速的,一直跑满了千兆带宽
image

@xiaoyaofenfen
Copy link
Collaborator Author

xiaoyaofenfen commented Mar 5, 2024 via email

@KKKKeybird
Copy link

大大,新版在下载大文件时下载久了似乎会变成0B/s下不了
tmpD639

@xiaoyaofenfen
Copy link
Collaborator Author

大大,新版在下载大文件时下载久了似乎会变成0B/s下不了 tmpD639

刚刚修复了该问题,你用上面新的Beta1版本再试试

@Xi-Gong
Copy link

Xi-Gong commented Mar 9, 2024

大大,./aliyunpan token update -mode 2命令失效了,还需要刷新token吗,另外token的有效期有变化吗。

@xiaoyaofenfen
Copy link
Collaborator Author

大大,./aliyunpan token update -mode 2命令失效了,还需要刷新token吗,另外token的有效期有变化吗。

token在服务器端刷新了,有效期90天

@anig1scur
Copy link

你好,刚使用了楼上的 beta1 版本,在下载一个超过 1gb 大小的 exe 文件时遇到如下问题

[3] 准备下载: /来自分享/ArcGIS10.8/资源汇总.txt

[2] ----
文件ID: 65eea6fa9910d3dc3e0f4332a33e4328bef67ba2
文件名: ArcGIS_108安装包及安装教程.exe
文件类型: 文件
文件路径: /来自分享/ArcGIS10.8/ArcGIS_108安装包及安装教程.exe

[3] 文件已经存在: /home/ai/Downloads/96b01cde107f4c279100096e0ef93b9a/来自分享/ArcGIS10.8/资源汇总.txt, 跳过...
[2] 准备下载: /来自分享/ArcGIS10.8/ArcGIS_108安装包及安装教程.exe
[2] 将会下载到路径: /home/ai/Downloads/96b01cde107f4c279100096e0ef93b9a/来自分享/ArcGIS10.8/ArcGIS_108安装包及安装教程.exe
[2] 下载开始
[2] ↓ 79.50MB/1.24GB(6.27%) 2.25MB/s(2.37MB/s) in 30.03s, left 8m47s ............panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x8 pc=0xaac78d]

goroutine 7 [running]:
github.com/tickstep/aliyunpan/internal/command.RefreshWebTokenInNeed(0x0?, {0x0?, 0xc00009a050?})
        /Users/tickstep/Documents/Workspace/go/projects/aliyunpan/internal/command/utils.go:152 +0x4d
main.checkLoginExpiredAndRelogin()
        /Users/tickstep/Documents/Workspace/go/projects/aliyunpan/main.go:87 +0x59
main.main.func1()
        /Users/tickstep/Documents/Workspace/go/projects/aliyunpan/main.go:108 +0x98
created by main.main
        /Users/tickstep/Documents/Workspace/go/projects/aliyunpan/main.go:100 +0x98

@xiaoyaofenfen
Copy link
Collaborator Author

你好,刚使用了楼上的 beta1 版本,在下载一个超过 1gb 大小的 exe 文件时遇到如下问题

[3] 准备下载: /来自分享/ArcGIS10.8/资源汇总.txt

[2] ----
文件ID: 65eea6fa9910d3dc3e0f4332a33e4328bef67ba2
文件名: ArcGIS_108安装包及安装教程.exe
文件类型: 文件
文件路径: /来自分享/ArcGIS10.8/ArcGIS_108安装包及安装教程.exe

[3] 文件已经存在: /home/ai/Downloads/96b01cde107f4c279100096e0ef93b9a/来自分享/ArcGIS10.8/资源汇总.txt, 跳过...
[2] 准备下载: /来自分享/ArcGIS10.8/ArcGIS_108安装包及安装教程.exe
[2] 将会下载到路径: /home/ai/Downloads/96b01cde107f4c279100096e0ef93b9a/来自分享/ArcGIS10.8/ArcGIS_108安装包及安装教程.exe
[2] 下载开始
[2] ↓ 79.50MB/1.24GB(6.27%) 2.25MB/s(2.37MB/s) in 30.03s, left 8m47s ............panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x8 pc=0xaac78d]

goroutine 7 [running]:
github.com/tickstep/aliyunpan/internal/command.RefreshWebTokenInNeed(0x0?, {0x0?, 0xc00009a050?})
        /Users/tickstep/Documents/Workspace/go/projects/aliyunpan/internal/command/utils.go:152 +0x4d
main.checkLoginExpiredAndRelogin()
        /Users/tickstep/Documents/Workspace/go/projects/aliyunpan/main.go:87 +0x59
main.main.func1()
        /Users/tickstep/Documents/Workspace/go/projects/aliyunpan/main.go:108 +0x98
created by main.main
        /Users/tickstep/Documents/Workspace/go/projects/aliyunpan/main.go:100 +0x98

你好,刚使用了楼上的 beta1 版本,在下载一个超过 1gb 大小的 exe 文件时遇到如下问题

[3] 准备下载: /来自分享/ArcGIS10.8/资源汇总.txt

[2] ----
文件ID: 65eea6fa9910d3dc3e0f4332a33e4328bef67ba2
文件名: ArcGIS_108安装包及安装教程.exe
文件类型: 文件
文件路径: /来自分享/ArcGIS10.8/ArcGIS_108安装包及安装教程.exe

[3] 文件已经存在: /home/ai/Downloads/96b01cde107f4c279100096e0ef93b9a/来自分享/ArcGIS10.8/资源汇总.txt, 跳过...
[2] 准备下载: /来自分享/ArcGIS10.8/ArcGIS_108安装包及安装教程.exe
[2] 将会下载到路径: /home/ai/Downloads/96b01cde107f4c279100096e0ef93b9a/来自分享/ArcGIS10.8/ArcGIS_108安装包及安装教程.exe
[2] 下载开始
[2] ↓ 79.50MB/1.24GB(6.27%) 2.25MB/s(2.37MB/s) in 30.03s, left 8m47s ............panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x8 pc=0xaac78d]

goroutine 7 [running]:
github.com/tickstep/aliyunpan/internal/command.RefreshWebTokenInNeed(0x0?, {0x0?, 0xc00009a050?})
        /Users/tickstep/Documents/Workspace/go/projects/aliyunpan/internal/command/utils.go:152 +0x4d
main.checkLoginExpiredAndRelogin()
        /Users/tickstep/Documents/Workspace/go/projects/aliyunpan/main.go:87 +0x59
main.main.func1()
        /Users/tickstep/Documents/Workspace/go/projects/aliyunpan/main.go:108 +0x98
created by main.main
        /Users/tickstep/Documents/Workspace/go/projects/aliyunpan/main.go:100 +0x98

这里报错有点奇怪,按照逻辑这里就不应该有报错。你方便开debug日志(readme文件里面有)再试试然后把日志再发下。另外你这个出现之前有做什么操作之类的吗?

@anig1scur
Copy link

这里报错有点奇怪,按照逻辑这里就不应该有报错。你方便开debug日志(readme文件里面有)再试试然后把日志再发下。另外你这个出现之前有做什么操作之类的吗?

好的,感谢飞速答复,我已经开启日志,如果待会再出现类似的问题我会 po 上来的。 不是很确定我有没做过其他操作,应该只是在窗口之间跳来跳去吧。。

@anig1scur
Copy link

这里报错有点奇怪,按照逻辑这里就不应该有报错。你方便开debug日志(readme文件里面有)再试试然后把日志再发下。另外你这个出现之前有做什么操作之类的吗?

好的,感谢飞速答复,我已经开启日志,如果待会再出现类似的问题我会 po 上来的。 不是很确定我有没做过其他操作,应该只是在窗口之间跳来跳去吧。。

我这里已经下载好了,没有再出现上面那个问题 👏🏻 我能提供的信息是,在最开始每次杀死再进入应用它会让我扫码重新登录,似乎没有记住我的登录信息,开启日志或者我做了什么别的操作之后好了

@xiaoyaofenfen
Copy link
Collaborator Author

这里报错有点奇怪,按照逻辑这里就不应该有报错。你方便开debug日志(readme文件里面有)再试试然后把日志再发下。另外你这个出现之前有做什么操作之类的吗?

好的,感谢飞速答复,我已经开启日志,如果待会再出现类似的问题我会 po 上来的。 不是很确定我有没做过其他操作,应该只是在窗口之间跳来跳去吧。。

我这里已经下载好了,没有再出现上面那个问题 👏🏻 我能提供的信息是,在最开始每次杀死再进入应用它会让我扫码重新登录,似乎没有记住我的登录信息,开启日志或者我做了什么别的操作之后好了

了解,我先逻辑上做个下规避。你这个现象看着很像aliyunpan_config.json这个配置文件没有写入权限导致,你可以去确认下

@joostshao
Copy link

卧槽,好快啊

@xiaoyaofenfen
Copy link
Collaborator Author

卧槽,好快啊

目前看应该是不限速,我已经千兆带宽下了好几天,都没见限速。但阿里肯定迟早会限的,早用早享受

@xiaoyaofenfen
Copy link
Collaborator Author

卧槽,好快啊

目前看应该是不限速,我已经千兆带宽下了好几天,都没见限速。但阿里肯定迟早会限的,早用早享受
版本:aliyunpan-v0.3.0-Beta1-linux-amd64
aliyunpan > login
登录出错: Get "https://api.tickstep.com/auth/tickstep/aliyunpan/token/qrcode/create?ip=127.0.0.1&os=linux&arch=amd64&version=v0.3.0-Beta1&key=db2cda83f2f44743a30c2f9f2a08810e": context deadline exceeded (Client.Timeout exceeded while awaiting headers)

你确认下你那边的网络情况,这个是网络链接不上报的错

@oped0213
Copy link

大大,下载链接貌似失效了
1

@xiaoyaofenfen
Copy link
Collaborator Author

大大,下载链接貌似失效了 1

我刚刚试了可以正常下,你下的是那个链接?

@oped0213
Copy link

我刚刚试了可以正常下,你下的是那个链接?

中午没下载成功,刚刚尝试了下,可以了

@cihaca1
Copy link

cihaca1 commented Mar 16, 2024

使用sync start -ldir "/home/qbittorrent-nox/Downloads" -pdir "/sync_drive/Downloads" -mode "upload"实际只创建了文件夹,文件没有上传

@xiaoyaofenfen
Copy link
Collaborator Author

使用sync start -ldir "/home/qbittorrent-nox/Downloads" -pdir "/sync_drive/Downloads" -mode "upload"实际只创建了文件夹,文件没有上传

确实是有些bug,到时候在新版本中验了

@xiaoyaofenfen
Copy link
Collaborator Author

v0.3.0正式版本已经发布,请大家切换到正式版本。本issue使命已完结,我们下个公测版本再见。

@xiaoyaofenfen xiaoyaofenfen unpinned this issue Mar 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

9 participants