-
-
Notifications
You must be signed in to change notification settings - Fork 434
Problem when putting REFRESH_TOKEN #16
Comments
@FrnkPsycho |
@spencerwooo 感谢回复! 而且我发现我的token开头非常很奇怪,不知道有没有关系 或许可能是因为onedrive账号的原因?我的账号是office a1订阅 |
@FrnkPsycho 可能是 OneDrive 账号问题,你实在存不下的话,试试把你的 |
我也有同样的问题,是office E5订阅,请问您能说详细一些吗? @spencerwooo
|
另外,是access_token也要存到Firebase 里面吗? |
不是,上面是说 Cloudflare 的环境变量有长度限制情况下的 workaround:把刷新
是的,应该没问题,Firebase 里面存储的 |
@Micraow @FrnkPsycho 手动存
别看了,这个有 bug……看下面:#issuecomment-681968724// ./src/config/default.js
const refresh_token = await (await fetch(`https://<你的 Firebase URL 地址>/refresh_token.json?auth=${FIREBASE_TOKEN}`)).text()
const config = {
/**
* You can use this tool http://heymind.github.io/tools/microsoft-graph-api-auth
* to get following params: client_id, client_secret, refresh_token & redirect_uri.
*/
refresh_token: refresh_token,
// ...
} |
好的,谢谢,但是今天下午我发现。我的令牌已经变回了原来的那种QAQ的样子,所以我就直接添加了。 |
@spencerwooo 可能问题有点笨,毕竟没有学习js的经验,所以只能copy您给出的代码,然后出现了一下错误
好像是什么语法的问题?希望能照顾我这个小白订正一下QAQ |
oh shit,不对,这么写有问题,我傻了,我重新本地写一下,稍等。 Edit: @FrnkPsycho 这个 // ./src/auth/onedrive.js
export async function getAccessToken() {
const timestamp = () => {
return Math.floor(Date.now() / 1000)
}
const refresh_token = await (await fetch(`https://<你的 Firebase URL 地址>/refresh_token.json?auth=${FIREBASE_TOKEN}`)).text()
// 之后所有的 config.refresh_token 都直接改为 refresh_token
// ...
} |
@spencerwooo 解决了 感谢! 不过我发现了和之前heymind大佬那个项目一样的问题,单个目录只能显示200个文件夹,请问这是onedrive本身问题还是cloudflare的请求限制? 能够解决我的疑问就更好了 |
@FrnkPsycho 单个目录只能显示 200 个文件夹是我没写 pagination,其实是可以支持的,OneDrive 有 API,等我有空实现,可以开个新 issue 来 track 这个问题。 |
请问一下大佬,按照这个issue配置好之后,使用wrangler preview之后显示:
onedrive.js里面写的是: const refresh_token = await (await fetch(`https://认真的抄写/refresh_token.json?auth=${FIREBASE_TOKEN}`)).text()
// Fetch access token from Google Firebase Database
const data = await (await fetch(`${config.firebase_url}?auth=${FIREBASE_TOKEN}`)).json()
if (data && data.access_token && timestamp() < data.expire_at) {
console.log('Fetched token from storage.')
return data.access_token
}
const resp = await fetch(oneDriveAuthEndpoint, {
method: 'POST',
body: `client_id=${config.client_id}&redirect_uri=${config.redirect_uri}&client_secret=${config.client_secret}
&refresh_token=${refresh_token}&grant_type=refresh_token`,
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
}
}) |
@FaintGhost 你得把 |
感谢回复,但是我把
|
@FaintGhost 那你这里还是后面请求的配置问题 |
哭瞎了,我乖乖按照教程配置的,我试了一下如果直接把 |
你好!感谢大佬写的这么棒的项目!
不过在我操作过程中发现当我在输入REFRESH_TOKEN的时候提示如下:
提示我密钥超过1kb的限制,看了一下密钥长度为1050到1060字节不等(刷新了好几次),的确超出了限制。
可是我不管怎么修改设置都没办法缩短长度
请问怎么解决呢?谢谢!
(知识匮乏还望大佬包涵)
The text was updated successfully, but these errors were encountered: