You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Office Scripts无法通过访问令牌获取私有GitHub仓库数据的解决问询

可行的修复/绕过方法

方法1:改用GitHub API内容接口

GitHub的Raw文件接口不支持带自定义Authorization头的CORS预请求,换成GitHub API的仓库内容接口即可解决,该接口原生支持CORS:

let token = "TOKEN";
const headers = {
  "Authorization": `token ${token}`,
  "Accept": "application/vnd.github.v3.raw" // 指定返回原始CSV内容
};
// 替换为你的组织名、仓库名和文件路径
let url = "https://api.github.com/repos/ORGANISATION/REPO/contents/data/example.csv";
const res = await fetch(url, { headers });
const csvContent = await res.text();
// 这里可以添加CSV解析逻辑

方法2:搭建中间代理服务

用无服务器函数(比如Azure Functions)做中转,规避CORS限制:

  • 创建一个简单的云函数,内部用你的GitHub Token请求目标Raw文件
  • 函数返回内容时,添加CORS允许头:Access-Control-Allow-Origin: https://*.officescripts.microsoftusercontent.com
  • Office Scripts直接请求这个云函数的URL,无需在脚本里暴露Token

方法3:通过Power Automate中转

利用Power Automate的GitHub连接器绕开CORS:

  1. 在Power Automate中创建流,使用「GitHub - 获取文件内容」动作,配置私有仓库路径并通过Token授权
  2. 为流添加「手动触发」或「HTTP触发」方式,允许Office Scripts调用
  3. 在Office Scripts中用fetch调用流的触发URL,获取返回的CSV内容

关键注意事项

  • 不要硬编码Token:敏感信息建议存在Office Scripts的脚本设置里,或者托管在代理服务/Power Automate中,避免泄露
  • Token权限检查:确保你的GitHub Token拥有repo权限,能访问目标私有仓库

内容的提问来源于stack exchange,提问作者FeddeHasQuestion

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 09:25:14