web-dev-qa-db-ja.com

ベースGitLab APIベースURLが見つかりません

Gitlab.comアカウントでプロジェクトとリポジトリを作成し、秘密キーを生成しました。現在、コミットリストを取得するためにAPIコールを実行しようとしています。

今、私はAPIからプロジェクトのリストをドキュメントから取得したい https://docs.gitlab.com/ce/api/projects.html#list-projects

GET /projects

だから私はやっている

curl --header "PRIVATE-TOKEN: XXXXXXX -c" "https://gitlab.com/projects"

404を取得します。いくつかの組み合わせを試しましたが、正しいベースURLが見つかりません。

リポジトリのコミット、ドキュメントにも同じ https://docs.gitlab.com/ce/api/commits.html

https://gitlab.example.com/api/v3/projects/5/repository/commits

うまくいきます(プロジェクトIDとしてmyusername/projectnameを使用)https://gitlab.com/api/v3/projects/myusername/projectname/repository/commits

404も取得しました

18
abovesun

ホストされているGitLabの正しいベースURLはhttps://gitlab.com/api/v4/であるため、
GET /projects

curl --header "PRIVATE-TOKEN: XXXXXX" "https://gitlab.com/api/v4/projects"

また、プロジェクトIDはプロジェクト名と同じではありません。 GET /projectsへのリクエストの応答からプロジェクトIDを取得できます

20
BrokenBinary

私にとって、次のリクエストはうまくいきました:

curl --header "PRIVATE-TOKEN: YOUR_TOKEN" "https://gitlab.com/api/v4/users/YOUR_USER_ID/projects" 

リクエストの理由がわからない:curl --header "PRIVATE-TOKEN: PRIVATE_TOKEN" "https://gitlab.com/api/v4/projects/"は、他のいくつかの公開プロジェクトのリストを返しました。

ユーザー情報の別の便利なリクエスト:curl --header "PRIVATE-TOKEN: PRIVATE_TOKEN" "https://gitlab.com/api/v4/user/"

3
dejdej

https://docs.gitlab.com/ee/api/#basic-usage

このコマンドを試してください:curl " https://gitlab.example.com/api/v4/projects "ドキュメントに記載されているとおり

Gitlabのバージョン3を使用している場合、curl --header "Authorization:Bearer OAUTH-TOKEN" https://gitlab.example.com/api/v3/projects を使用している場合

Project-nameから簡単にIDを取得できるようにする「python-gitlab」モジュールもあります https://python-gitlab.readthedocs.io/en/stable/

2
Anant Sarin