Bruce
Bruce
@ysmintor 没关系,现在不需要了,我网上就能搞到账号。
@Lijunjie9502 @sukyz @ysmintor 之前一直以为要管理员授权所以没有继续开发,后来经过@ysmintor提醒,是可以用委托授权,这个是不用管理员同意api权限的,目前我已经完成了: - 1、oauth2.0授权 - 2、小文件(4M)分片上传 - 4、创建分享链接 其实已经完成了整个流程,但是我发现如果想用它作为图床,只有购买“Office 365个人版(398RMB/年)”才能真正的用它作为图床,否则用不了,我暂且不说通过api上传,就是直接在后台上传,然后点共享,它生成的链接也是这样的: [https://jxjjxy-my.sharepoint.com/:i:/g/personal/kmx3ecup_t_odmail_cn/EQd7QRXFj3pGnhNoOvwMl-oBm0S2kQS6fwFAXFmU5AiUmw?e=RIfx72](https://jxjjxy-my.sharepoint.com/:i:/g/personal/kmx3ecup_t_odmail_cn/EQd7QRXFj3pGnhNoOvwMl-oBm0S2kQS6fwFAXFmU5AiUmw?e=RIfx72) 这种链接点开后是这样的:  且不说它无法预览,就算它能预览,它也不是“原图链接”,不能用于markdown文档/网站上,如果你点击左上角的“View Orignal(查看原图)”,它确实有原图直链,但是这个原图直链”仅限从预览页点开“,如果你把这个链接链接到另一个浏览器打开,你会发现它要你登录,所以这个链接如果嵌入到markdown文档/网站上,它是无法显示的。 根据[创建共享链接的文档](https://docs.microsoft.com/zh-cn/graph/api/driveitem-createlink?view=graph-rest-1.0&tabs=http),有一种共享链接类型叫`embed`(而我上边贴的共享链接是`view`类型的),`embed`类型的共享应该是能直接嵌入到markdown文档/网站的,然而只有”付费的个人版(398RMB/年)“才支持这个`embed`类型,学生版、企业版都不行(反正学生版我试了,报错)。  目前我打算学生版/企业版就直接返回上面那种链接(至于家庭版是怎样的,跟个人版有什么区别我也不知道,没有账号测试),而个人版我要返回那种能直链的,但是我又没有付费的个人版,**不知道谁有买过Office365个人版(398RMB/年),能不能随便上传一张图片,发个任何人都能查看的共享链接来看看,我要看看它的链接格式,做到兼容两种格式。**
@sukyz 查看原图是可以,但是你把查看原图后的那个图片链接复制到别的浏览器,还能打开吗?肯定是不能的(要登录才行),oneindex这样的话其实只不过是把onedrive当成一个备份而已,真正提供服务的还是得自己的服务器,流量也是跑自己服务器的,我这个工具并没有做图床用,只是上传图片的功能。
@sukyz 嗯,所以应该只有购买了个人版的用户,才能真正把它当图床用,因为个人版的能生成能嵌入到别处的共享链接,这种共享链接就可以直接放到markdown文章/网站中,否则还是要自己搞服务器。
@ysmintor 哦哦,我用的是官网的接口,应该不是世纪互联吧
@lzkgbld 是的,你说的没错,只有个人版(收费)的分享出来的链接才可以不登录直接查看
@sunshineynwa 你这个个人版是收费的吗?
@sunshineynwa 我整理了一遍,目前程序上传肯定是没问题的,但是能不能返回正确的分享链接我就不知道了(毕竟我不知道收费版的链接跟免费版的是不是一样,因为免费版的是没法获取分享链接的),你可以先按[这个教程](https://www.xiebruce.top/1141.html)获取到三个参数:clientId, clientSecret, tenant,填进去后,点`获取OneDrive授权`,然后尝试上传一下看看返回什么,如果返回报错或没什么返回,可以去PicUploader目录下的`logs`目录里,找到当前时间的日志,看看里面报什么错,贴上来。 其中`tenant`参数,有两种获取方法,文章中有写,我建议你两种获取方法都试试,反正我是用方法二获取的才可以,我自己的账号用方法二获取的tenant值就是`common`,不知道收费的是不是一样。 如果方便的话,最好是改个密码,把账号密码发到我邮箱:[email protected],我用你的账号来调试,因为我自己不用OneDrive,所以我没有收费的OneDrive账号可以调。
因为我分析的gitlab的图片链接就是这样的,你看:  当然我是直接用的gitlab.com测试的,你的是自建的吗?多了这个杠就无法访问,那去掉就可以访问了是吧?按道理,用的同一套代码,不应该呀。 你试试在你的gitlab里点开一张图片,看看它的实际地址是怎样的?
已测试,gitlab.com的链接去掉那个`-`也能访问,所以我就去掉了,你更新一下代码就可以了。