【问题标题】:How to commit to a github repo from a website (IN BROWSER) using javascript如何使用 javascript 从网站(在浏览器中)提交到 github 存储库
【发布时间】:2022-12-13 02:04:57
【问题描述】:
我有一个网站需要一个 JSON 文件来显示一种托管在 GitHub 页面上的时间表。不知道什么是 javascript 或 GitHub 的人需要能够每周更改该 JSON 文件。
为了解决这个问题,我创建了一个网站,该网站从他们可以编辑的谷歌表格中读取数据,并通过单击按钮将其转换为 js 对象。我现在只需要将此对象从网站获取到第一个 GitHub 存储库上的 JSON 文件中,但我不知道如何执行此操作。我知道您可以以某种方式使用 GitHub API,但是如何使用?
附言我知道将令牌内置到网站中是一种安全风险,这就是为什么我打算只将令牌放在 google 工作表中,这要求用户在访问之前验证 google 帐户。
【问题讨论】:
标签:
javascript
json
github
github-pages
github-api
【解决方案1】:
考虑使用@octokit/rest
npm install @octokit/rest
const { Octokit } = require("@octokit/rest");
// Authenticate to the GitHub API using your personal access token
const octokit = new Octokit({
auth: "YOUR_PERSONAL_ACCESS_TOKEN"
});
// Update the JSON file in your repository
await octokit.repos.updateFile({
owner: "YOUR_GITHUB_USERNAME",
repo: "YOUR_REPO_NAME",
path: "path/to/file.json",
message: "Update JSON file",
content: "BASE64_ENCODED_CONTENT_OF_JSON_FILE"
});
【讨论】:
-
code 是针对 Node.js 的,但问题是关于在浏览器的网页上运行的代码。