GitHub API - 如何确定文件是否实际上是符号链接?

2024-02-08

通过 GitHub API 查询符号链接时,如果符号链接指向文件而不是目录,我会得到不同的结果。后者表现得更好,因为它会返回"type": "symlink"作为其 JSON 的一部分,而前者返回"type": "file"。例子文件符号链接 https://api.github.com/repos/aknuds1/littlebits-arduino/contents/muzhack/files/littleBitsMidiNotes.ino, 例子目录符号链接 https://api.github.com/repos/aknuds1/Littlebits-Arduino/contents/muzhack/files/adapter-board-files.

当符号链接将自己宣传为文件时,这是非常令人困惑的,因为 GET-ing 其下载 URL 只会为您提供符号链接的目标,而不是文件内容.

如何判断文件实际上是符号链接,而不是真实文件?

另外,为文件符号链接返回类型“file”的行为是一个彻头彻尾的错误吗?这看起来不太对劲。


不幸的是,答案是“你不”。无法区分文件请求和符号链接(API 处于当前状态)。从文档 https://developer.github.com/v3/repos/contents/#response-if-content-is-a-symlink:

如果请求的 :path 指向符号链接,并且符号链接的目标是存储库中的普通文件,则 API 将使用文件的内容进行响应 [...]

否则,API 将使用描述符号链接本身的对象进行响应:

我向 GitHub 支持提出了这个问题,他们确认没有办法做到这一点。他们提出向内部团队提出请求,但我想这不太可能被采纳。

一种解决方法(并不适合所有情况)是通过以下方式请求文件https://raw.githubusercontent.com/ https://raw.githubusercontent.com/如果是真实文件,则返回文件内容;如果是符号链接,则仅返回文件路径。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

GitHub API - 如何确定文件是否实际上是符号链接? 的相关文章

  • 是否可以选择 Dependabot 应打开 PR 的特定分支?

    正如标题所示 在 GitHub 上是否可以手动选择 Dependabot 应打开其 Pull 请求的分支 据我所见 它会针对存储库设置中设置为主要分支的分支打开 PR 但是否可以选择另一个分支 根据文档 https docs github
  • 说它已提交,但在 GitHub 中它没有显示

    我刚刚在 Ubuntu 机器上安装了 Rails 我设置了 git 并创建了一个 ssh 密钥来链接到我的帐户 我创建了一个要提交的存储库 并创建了一个示例项目来测试 名为first app 当我提交时 它说一切都已提交 但我去了 gith
  • 如何在Github Actions中获取SECRETS的值?

    我正在尝试访问的价值SECRET发送到 GitHub Action 但我很挣扎 返回值如下 FILTERED 每次 无论键或原始值是什么 我可以访问ENVIRONMENT VARIABLES没有问题 所以我一定是在其他地方搞砸了 本质上 我
  • 在应用程序中注册API

    通过 django rest framework 我正在使用DefaultRouter 我想为多个应用程序提供 API 所以我的问题是我能否以 django 方式执行此操作 并将我的路由器注册放入每个应用程序 URLconf 中 并让它们显
  • 如何在 Delphi REST 中发布内容类型为“multipart/form-data”的数据?

    我正在尝试使用 REST API 发送请求multipart form data作为内容类型 我总是收到 HTTP 1 1 500 Internal Error 作为响应 我尝试向需要的方法发送请求application x www for
  • 使用Chrome访问github,无法加载css和js。但IE没问题

    我的 Chrome 版本 50 0 2661 75 m 访问GitHub 无法加载css和javascript 错误 CSS stylesheet from origin https assets cdn github com has be
  • 执行“挤压和合并”后可能出现问题?

    I used Squash and Merge用于合并dev分支到main因为我不想要来自的一些提交消息dev出现在的分支main但现在我发现main比 dev 提前 1 次提交 并且该图显示 两者之间没有联系dev and main 这是
  • 如何向最终用户隐藏 REST API Url?

    是否可以隐藏我通过 AJAX 用于填充页面数据的 REST URL 我不希望其他人从我的 REST API 获取和使用 但需要使用它在我的网站中显示内容 如何向最终用户隐藏我的 REST API URL 无法在 JavaScript 中向最
  • 如何进行 REST 式更新?

    如果我有一个对象 请说Employee 我想提供两种不同的更新方式 更新绩效评级或更新联系信息 构建 API 的 REST 式方式是什么 我认为正确的方法是 POST 我担心的是 对于用户来说 首先获取对象的两个部分 绩效评级和联系信息 仅
  • 如何在不同的端口上运行@RestController?

    我在用着spring rest创造一些 RestController小服务程序 该应用程序不是在网络服务器上运行 而是作为带有嵌入式 tomcat 的简单命令行工具运行 它们中的大多数应该在公共端口上运行 该端口是使用指定的server p
  • 在 C# 控制台应用程序中使用 HttpClient 使用 WEB API

    我使用 MySQL 数据库在 Visual Studio 2015 中创建了一个 Web API API 运行完美 所以我决定做一个控制台client http www c sharpcorner com article web api w
  • 如何触发应用程序通过 REST 服务获取数据?

    我正在寻找一种方法来触发应用程序从远程 REST 服务获取数据 该方法不需要轮询 iOS 推送通知似乎不是一个选项 因为它可以被用户停用 然而 我可能是错的 是否有最佳实践来完成此任务 实际上 推送通知是可行的方法 在 ios8 及更高版本
  • “git rm --cached”、“git Restore --staged”和“git reset”之间有什么区别

    我遇到了以下三种方法来取消暂存由命令 git add 暂存的文件 git rm cached
  • 如何使用“gem install”命令从私有 GitHub 存储库安装 gem

    如何在本地安装托管在 GitHub 上的私人存储库中的 gem 特别是 我们通过gem install命令而不是在 Bundler 中使用 因为它是一个命令行工具 我尝试这样做 gem install githubname repo s h
  • 如何在本地快速拉取拉取请求

    在合并拉取请求之前 我想在本地快速拉取请求并运行测试并测试一些内容 我还不想点击 gihub 合并拉取请求 我以为滑轮会有帮助http ejohn org blog pulley http ejohn org blog pulley 但我收
  • 如何列出所有 GitHub 用户?

    我正在开发一个网站 需要从 GitHub 爬取所有用户信息 至少是我们网站上的用户 我搜索了 GitHub API 没有找到答案 那么我有什么办法可以完成这份工作吗 我只有用户的电子邮件 我可以通过将电子邮件哈希值与头像 URL 进行比较来
  • 使用 JWT 创建 PostMan GET 请求

    我是 PostMan 的新手 通常我使用curl 这是获得 JTW 的一个 curl X POST H X Requested With XMLHttpRequest H Content Type application json H Ca
  • Spring Boot 应用程序中的 Vaadin 23 Rest-API 和 UI

    我使用 Vaadin 23 3 5 开发了一个小型应用程序 到目前为止 我仅将 Spring Boot Security 与默认的 LoginView 结合使用来进行身份验证 然后使用 MainLayout 来浏览我的应用程序 但现在我需要
  • iPhone 应用程序中的异步、同步、线程

    我正处于一个应用程序的设计阶段 该应用程序将利用 REST Web 服务 并且在使用异步 同步和线程方面遇到了困境 这是场景 假设您有三个选项可供深入研究 每个选项都有自己的基于 REST 的资源 我可以使用同步请求延迟加载每个请求 但这会
  • 从 github 中删除子项目提交

    我有两个存储库A and B 我错误地在我的机器上将仓库 B 克隆到了 A 内 我从存储库 B 中删除了所有代码 但是当我在源上从 A 推送并合并代码时 它还显示了子项目提交B在 Github 仓库上 我想从我的 master 上删除子项目

随机推荐