GitLab API - 如何使用GET和session参数获取private_token?

时间:2013-12-02 16:59:58

标签: gitlab gitlab-api

我正在使用GitLab API v3对我的私有安装执行某些操作。在GET URL中使用private_token工作正常。 e.g。

GET http://git.example.com/api/v3/projects?=private_token=xyz123

但为了使这成为可能,你需要一个private_token。有一种可靠的方法来获取它 - 从您的帐户设置。但我希望我的用户使用他们的电子邮件ID /登录ID和密码来检索私钥,并在那里使用它来进行其余的操作。

我使用了以下GET url,它对我没有任何作用:

GET http://git.example.com/api/v3/session?login=xyzuser&password=xyzpassword

理想情况下,根据GitLab文档,我应该得到如下的JSON -

{
  "id": 1,
  "username": "john_smith",
  "email": "john@example.com",
  "name": "John Smith",
  "private_token": "dd34asd13as",
  "blocked": false,
  "created_at": "2012-05-23T08:00:58Z",
  "bio": null,
  "skype": "",
  "linkedin": "",
  "twitter": "",
  "dark_scheme": false,
  "theme_id": 1,
  "is_admin": false,
  "can_create_group" : true,
  "can_create_team" : true,
  "can_create_project" : true
}

如果我得到了这个,我可以获得private_token并从那里开始工作。

我做错了什么?

1 个答案:

答案 0 :(得分:6)

您需要按照api(http://api.gitlab.org/session.html)中所述的方式发布数据。

请注意,如果您在http端口(而不是使用https)上执行此操作,则密码将以纯文本形式发送到服务器。