如何获取 GitHub 存储库的开放图形图像?

How can I get the open graph image for a GitHub repository?

我一直在尝试通过 GitHub 公开的 GraphQL API 从我的存储库中获取打开的图形图像,但我总是找回我的头像。我已尝试查询存储库节点、搜索和用户节点,但均无济于事。

例如,对于查询:

query {
  repository(name: "rust-algorithms", owner: "alexfertel") {
    openGraphImageUrl
    nameWithOwner
  }
}

我得到:

"repository": {
  "openGraphImageUrl": "https://avatars.githubusercontent.com/u/22298999?s=400&v=4",
  "nameWithOwner": "alexfertel/rust-algorithms"
},

您可以看出这是一个头像,而不是 GitHub 为存储库生成的开放图形图像。

有没有办法得到这张不涉及抓取的图片GitHub?

一般格式为:

https://opengraph.githubassets.com/<any_hash_number>/<owner>/<repo>

此处归功于 Reddit 上的用户@msfjarvis

any_hash_number

我们可以在这里使用任何数字或字符串。这实际上是告诉 API 这是版本。最好使用散列,因为那样它总是会提供更新后的图像。但是我们可以使用任何字符串,例如 1a1a。如果我们总是使用 1a 它不会提供更新的图像。

您也可以通过发布和拉取请求获得它

问题

https://opengraph.githubassets.com/<any_hash_number>/<owner>/<repo>/issue/<issue_number>

PR

https://opengraph.githubassets.com/<any_hash_number>/<owner>/<repo>/pull/<pr_number>

any_hash_number

我们可以在这里使用任何数字或字符串。这实际上是告诉 API 这是版本。最好使用 hash,因为那样它总是会提供更新后的 image.But 我们可以使用任何字符串,例如 1a1a。如果我们总是使用 1a 它不会提供更新的图像。