PicUploader icon indicating copy to clipboard operation
PicUploader copied to clipboard

建议增加 onedrive 支持。

Open sbwcwso opened this issue 4 years ago • 24 comments

你好,onedrive 现在可以直接生成图片的直链,但是要上传加在网页上进行操作,比较麻烦,希望能集成到此工具中。

sbwcwso avatar Sep 10 '19 13:09 sbwcwso

有时间我看看吧

xiebruce avatar Sep 10 '19 14:09 xiebruce

@Lijunjie9502 研究了一下,需要企业版或教育版才能用,不知道你的是什么版本?如果你是商业版或教育版,账号是否可以给我搞个子账号?不然我没法开发,其他人有需要这个功能的也可以给一个这种账号(暂时使用,因为开发的时候要测试)。

xiebruce avatar Oct 29 '19 11:10 xiebruce

用户名: 密码: 3jkJ3$ksd! 勿用作演示站的配置,只用于本地调试。

onedrive已经有现成的https://github.com/donwa/oneindex 可以做图床 上传页面在http://yourdomin.com/?/images/ docker一键搭建很简单docker run -d --name oneindex
-p 8888:80 --restart=always
-e REFRESH_TOKEN='0 * * * '
-e REFRESH_CACHE='
/10 * * * *'
setzero/oneindex

sukyz avatar Nov 16 '19 07:11 sukyz

@sukyz 你好,非常感谢你的账号,我现在已经创建了应用了,但差最后一步,也是我一直遇到问题的一步,就是需要管理员授权,我才有权限调用api上传文件,我只是调试接口,保证不会乱碰你本身有的文件,可否授权一下呢? image

我之前有了解过oneindex,不过我想自己实现这个上传,而且我这个工具更多的只是“图床工具”而不是“图床”,也就是方便上传文件并返回markdown链接的一个工具。

xiebruce avatar Nov 17 '19 02:11 xiebruce

sorry才看到。现在通过了吗?这个号也不是我开的..

sukyz avatar Nov 27 '19 21:11 sukyz

@sukyz 没通过哦

xiebruce avatar Nov 28 '19 04:11 xiebruce

@xiebruce 不知道使用 onedrive 后加载图片的稳定性,现在看来还不错。你需要测试账户可以邮件给我 开账号。

ysmintor avatar Mar 02 '20 12:03 ysmintor

@ysmintor 感谢,已发邮件

xiebruce avatar Mar 02 '20 12:03 xiebruce

@xiebruce 已回,请查收!

ysmintor avatar Mar 02 '20 13:03 ysmintor

@ysmintor 谢谢,由于一段时间没用,我发现你已经删掉账号了哈哈,不过经过你的提示,我使用了委托授权,这个网上直接就能搞到学生账号,我直接用学生账号测试了。

xiebruce avatar Mar 13 '20 06:03 xiebruce

@xiebruce 啊?我没删除啊(会不会自动删除啥的),这段时间都没去管,有啥需要邮件联系我就行。

ysmintor avatar Mar 13 '20 07:03 ysmintor

@ysmintor 没关系,现在不需要了,我网上就能搞到账号。

xiebruce avatar Mar 13 '20 07:03 xiebruce

@Lijunjie9502 @sukyz @ysmintor 之前一直以为要管理员授权所以没有继续开发,后来经过@ysmintor提醒,是可以用委托授权,这个是不用管理员同意api权限的,目前我已经完成了:

  • 1、oauth2.0授权
  • 2、小文件(<=4M)上传
  • 3、大文件(>4M)分片上传
  • 4、创建分享链接

其实已经完成了整个流程,但是我发现如果想用它作为图床,只有购买“Office 365个人版(398RMB/年)”才能真正的用它作为图床,否则用不了,我暂且不说通过api上传,就是直接在后台上传,然后点共享,它生成的链接也是这样的: https://jxjjxy-my.sharepoint.com/:i:/g/personal/kmx3ecup_t_odmail_cn/EQd7QRXFj3pGnhNoOvwMl-oBm0S2kQS6fwFAXFmU5AiUmw?e=RIfx72

这种链接点开后是这样的: image

且不说它无法预览,就算它能预览,它也不是“原图链接”,不能用于markdown文档/网站上,如果你点击左上角的“View Orignal(查看原图)”,它确实有原图直链,但是这个原图直链”仅限从预览页点开“,如果你把这个链接链接到另一个浏览器打开,你会发现它要你登录,所以这个链接如果嵌入到markdown文档/网站上,它是无法显示的。

根据创建共享链接的文档,有一种共享链接类型叫embed(而我上边贴的共享链接是view类型的),embed类型的共享应该是能直接嵌入到markdown文档/网站的,然而只有”付费的个人版(398RMB/年)“才支持这个embed类型,学生版、企业版都不行(反正学生版我试了,报错)。 image

目前我打算学生版/企业版就直接返回上面那种链接(至于家庭版是怎样的,跟个人版有什么区别我也不知道,没有账号测试),而个人版我要返回那种能直链的,但是我又没有付费的个人版,不知道谁有买过Office365个人版(398RMB/年),能不能随便上传一张图片,发个任何人都能查看的共享链接来看看,我要看看它的链接格式,做到兼容两种格式。

xiebruce avatar Mar 13 '20 07:03 xiebruce

@sukyz 查看原图是可以,但是你把查看原图后的那个图片链接复制到别的浏览器,还能打开吗?肯定是不能的(要登录才行),oneindex这样的话其实只不过是把onedrive当成一个备份而已,真正提供服务的还是得自己的服务器,流量也是跑自己服务器的,我这个工具并没有做图床用,只是上传图片的功能。

xiebruce avatar Mar 13 '20 09:03 xiebruce

@sukyz 查看原图是可以,但是你把查看原图后的那个图片链接复制到别的浏览器,还能打开吗?肯定是不能的(要登录才行),oneindex这样的话其实只不过是把onedrive当成一个备份而已,真正提供服务的还是得自己的服务器,流量也是跑自己服务器的,我这个工具并没有做图床用,只是上传图片的功能。

确实不能

sukyz avatar Mar 13 '20 09:03 sukyz

@sukyz 嗯,所以应该只有购买了个人版的用户,才能真正把它当图床用,因为个人版的能生成能嵌入到别处的共享链接,这种共享链接就可以直接放到markdown文章/网站中,否则还是要自己搞服务器。

xiebruce avatar Mar 13 '20 09:03 xiebruce

确实是的,现在好像非世纪互联联也绕路,打算 rclone 挂载用,还好服务器是不限流量的。

ysmintor avatar Mar 13 '20 09:03 ysmintor

@ysmintor 哦哦,我用的是官网的接口,应该不是世纪互联吧

xiebruce avatar Mar 13 '20 09:03 xiebruce

ondrive只能个人版绕过登陆访问权限,也不知道为什么,不过可以尝试将OneDrive搭建为OneIndex再进行引用,那个时候图片你允许让他出现预览图似乎是可以进行流量,包括在线播放MP4这种,都可以绕过登陆权限这个限制...但是视频播放的链接似乎有存活时间,就是说,晚点再次访问是要跳进登陆页面的,具体的话也好久没研究OneDrive那边的坑了,反正微软家这个网盘除了个人盘能绕过登陆下载之外,企业和学生版分享的地址似乎都要登陆才允许访问...

lzkgbld avatar Oct 19 '20 16:10 lzkgbld

@lzkgbld 是的,你说的没错,只有个人版(收费)的分享出来的链接才可以不登录直接查看

xiebruce avatar Oct 20 '20 02:10 xiebruce

@xiebruce 这是我用个人版Onedrive的嵌入模式生成的3个图片链接,都可以不登陆直接查看,麻烦看一下是不是有办法可以不登陆网页直接获取,不过感觉似乎没啥规律。现在的获取方式过于麻烦了,需要登陆网页版Onedrive操作。

图片1:文件名“20160319_173519000_iOS” https://dm2304files.storage.live.com/y4mi16j9quf5GwFh7qnrJ70X2qBGVysiQjYkyGPSj8dA-jXV-uPg9CEI6kpBz6MeV0elSPNvanMNFYcZQqlJc0BsVKi5OjaZyQ_GUKJKVF5D9eUdfLsSvX_2WVhJFWjZDYw81VY4wujCE18AO6dzziihRAsAirqvOtoK0JDPPVQ2cinxfiEKSFN4En7fROFWc-_?width=1239&height=1239&cropmode=none 图片1

图片2:文件名“20160319_173551000_iOS“ https://dm2304files.storage.live.com/y4mrrmj6qbCShnjol_FAsTbTYni-DW56S_sYO2znuhlUQbtdkQHHUAr1IXWZ7N3AV1cFoo30EWPdQcLD40HPUoeDP51SThMODRUHox-Zz7vZDkMj-o82m9yg-Aq0mJ1Jw6spF7ftL1VifXgdSX3i8Ya6-Z32gUgGC9c4D4mKO4pHbNMR9DNyffXm5_55HG9Ee1N?width=1239&height=1239&cropmode=none 图片2

图片3:文件名“20141123_154125000_iOS“ https://dm2304files.storage.live.com/y4mMBLU3PYd7nk1g68a8X-0VcSo6EwovOwZuqMeanIWOqbSl3RZbs5h3Pzift3tLZ2tNJtWDpyubsqgPWR5Cl2mcz0fcdtQSxrcUP9UCGLGeIFwy1B-M-0U-UrHkvCuww3omSPUAVwt4qZxVYlBndg5HhR_KuhyKOq8qzpeq8Mkn1AUdfaUFU9vL7GZMWiI4qED?width=1800&height=1200&cropmode=none 图片3

sunshineynwa avatar Dec 30 '20 04:12 sunshineynwa

@sunshineynwa 你这个个人版是收费的吗?

xiebruce avatar Dec 30 '20 05:12 xiebruce

@xiebruce 是收费版的,不过是家庭订阅

sunshineynwa avatar Dec 30 '20 06:12 sunshineynwa

@sunshineynwa 我整理了一遍,目前程序上传肯定是没问题的,但是能不能返回正确的分享链接我就不知道了(毕竟我不知道收费版的链接跟免费版的是不是一样,因为免费版的是没法获取分享链接的),你可以先按这个教程获取到三个参数:clientId, clientSecret, tenant,填进去后,点获取OneDrive授权,然后尝试上传一下看看返回什么,如果返回报错或没什么返回,可以去PicUploader目录下的logs目录里,找到当前时间的日志,看看里面报什么错,贴上来。

其中tenant参数,有两种获取方法,文章中有写,我建议你两种获取方法都试试,反正我是用方法二获取的才可以,我自己的账号用方法二获取的tenant值就是common,不知道收费的是不是一样。

如果方便的话,最好是改个密码,把账号密码发到我邮箱:[email protected],我用你的账号来调试,因为我自己不用OneDrive,所以我没有收费的OneDrive账号可以调。

xiebruce avatar Dec 30 '20 10:12 xiebruce