GitLab API 的以下 REST Url 为我提供了项目的存储库树。
获取回购树(工作)
https://gitlab.gspt.net/api/v3/projects/2931/repository/tree?private_token=XXXX
Run Code Online (Sandbox Code Playgroud)
输出:
[
{
"id": "a49d11794ed56db7f935abfd61002aef67159d10",
"name": "src",
"type": "tree",
"path": "src",
"mode": "040000"
},
{
"id": "0fbd98527d4b36e3d22c164293d8fd8eee4d18cd",
"name": ".gitignore",
"type": "blob",
"path": ".gitignore",
"mode": "100644"
},
{
"id": "0ef0da472176f2e6a24843ac9d4bb738c8310d23",
"name": "pom.xml",
"type": "blob",
"path": "pom.xml",
"mode": "100644"
}
]
Run Code Online (Sandbox Code Playgroud)
但我无法获得文件的原始内容,确切地说是 pom.xml。
获取文件的原始内容(不起作用 - 给出 404)
https://gitlab.gspt.net/api/v3/projects/2931/repository/files/pom%2Exml/raw?private_token=xxxx&ref_name=master
Run Code Online (Sandbox Code Playgroud)
输出:
{
"error": "404 Not Found"
}
Run Code Online (Sandbox Code Playgroud)
根据此处的文档(https://docs.gitlab.com/ee/api/repository_files.html#get-raw-file-from-repository),我指定了正确的 rest url。然而,唯一不同的是在其余 api 端点中使用 V4 而不是 V3。我四处搜索,但找不到 v3 api 的端点。