在request.put

时间:2019-09-10 14:41:15

标签: python-3.x gitlab

我正在尝试使用Python3脚本中的请求来更新具有写入权限的gitlab项目中的部署密钥。不幸的是,尝试通过请求模块进行连接时,我收到404错误。代码如下:

project_url = str(url)+('/deploy_keys/')+str(DEPLOY_KEY_ID)
    headers = {"PRIVATE-TOKEN" : "REDACTED"}
    payload = {"can_push" : "true"}

    r = requests.put(project_url, headers=headers, json=payload)
    print(r)

我的私钥/标题的语法在哪里做错了?

我已经通过gitlab api并要求提供文档。我还确认了我的私有令牌正在脚本之外运行。

我希望它使用写访问权限来更新部署密钥,但是在退出时会收到一个,使我认为问题出在标头/身份验证上。

1 个答案:

答案 0 :(得分:0)

此问题已解决,实际上不是身份验证问题。您必须使用项目ID而不是url,例如:

project_url = f'https://git.REDACTED.com/api/v4/projects/{project_id}/deploy_keys/{DEPLOY_KEY_ID}'
    headers = {"PRIVATE-TOKEN" : "REDACTED"}
    payload = {'can_push' : 'true'}

    try:
        r = requests.put(project_url, headers=headers, data=payload)