使用github API启动存储库

使用github API启动存储库,github,put,github-api,Github,Put,Github Api,我正在尝试使用GithubAPI启动存储库。这是通过一个网络来完成的。我试图使用请求库在python中实现此功能,但它不起作用。以下是一个最低限度的工作示例: 常量定义为GITHUB\u API=API.GITHUB.com,GITHUB\u USER=待加星号的回购协议所有者的用户名,以及GITHUB\u repo=待加星号的回购协议的名称 url = urljoin(GITHUB_API, (user + '/starred/' + GITHUB_USER + '/' + GITHUB_RE

我正在尝试使用GithubAPI启动存储库。这是通过一个网络来完成的。我试图使用请求库在python中实现此功能,但它不起作用。以下是一个最低限度的工作示例:

常量定义为
GITHUB\u API=API.GITHUB.com
GITHUB\u USER=待加星号的回购协议所有者的用户名
,以及
GITHUB\u repo=待加星号的回购协议的名称

url = urljoin(GITHUB_API, (user + '/starred/' + GITHUB_USER + '/' + GITHUB_REPO))
r = requests.put(url,auth=(user,password))
print r.text
此代码导致一个错误,其内容如下:

{"message":"Not Found","documentation_url":"https://developer.github.com/v3"}

我认为我在发出PUT请求的过程中遗漏了一些基本信息。

这里的问题是您传递给的参数。第一个参数应该是绝对URL,而第二个参数是相对URL
urljoin()
然后从中创建一个绝对URL

此外,在本例中,“user”应该是URL的文字部分,而不是用户名

在这种情况下,我将完全放弃
urljoin()
-函数,而是使用简单的字符串替换:

url = 'https://api.github.com/user/starred/{owner}/{repo}'.format(
          owner=GITHUB_USER,
          repo=GITHUB_REPO
      )

事实上,投票力度不够。这是正确的答案,但我不确定我是否能记下来。