vannvan / yuque-tools

🧰 玩转语雀-朴实无华的语雀工具集合,语雀知识库+团队资源批量导出/备份工具(无需Token)|浏览器插件助手
https://npm.im/yuque-tools
MIT License
419 stars 40 forks source link

空间开启第三方登录,如钉钉,获取文档会获取失败 #16

Open geekrainy opened 1 year ago

geekrainy commented 1 year ago

实际测试,个人账户登录后,若空间开启第三方登录,则获取 cookie 页面是登录页的 cookie,无法获得 appData.book 变量。建议配置文件手动配置 cookie 或登录流程增加 OAuth 认证。 : )

vannvan commented 1 year ago

image

可否尝试一下在上面的位置打印一下实际爬的url呢,上次有位朋友无法获取appData.book是因为此处cookie无效重定向到了登录页面,原因是因为在墙外面

geekrainy commented 1 year ago

确实是重定向到登录页了,首次在浏览器登录需要钉钉扫码进入空间。手动先登录把 cookie 替换就可以正常爬了,多个二次认证的逻辑。

vannvan commented 1 year ago

确实是重定向到登录页了,首次在浏览器登录需要钉钉扫码进入空间。手动先登录把 cookie 替换就可以正常爬了,多个二次认证的逻辑。

那就是可以正常导出了

Roamoin commented 6 months ago

我这边由于没有账号, 使用的是钉钉登入, 只能获取cookie, 请问我应该如何修改yuque.config.json 使之能够生效?

vannvan commented 6 months ago

我这边由于没有账号, 使用的是钉钉登入, 只能获取cookie, 请问我应该如何修改yuque.config.json 使之能够生效?

  1. 在浏览器任意API请求Request Headers找到cookie,把cookie整段复制出来

    image
  2. ytool运行的某个目录新建 docs/.meta 两级文件夹,再新建cookies.json文件,加入以下内容:

    
    {
    "expired": 1712477721324, // 这个时间戳可以是此时此刻,在浏览器Console用`Date.now()`生成就可以
    "data": "复制出来的cookie字符串"
    }


4. 直接运行 `ytool pull`,接下来就会进入到交互式环节