首页 文章

如何获取组织拥有的github中特定存储库的信息?

提问于
浏览
0

我正在使用github API以编程方式获取有关不同存储库的信息,而且我遇到了一个问题 .

我知道我可以使用我的auth密钥访问私有存储库,因为我能够以编程方式创建一个存储库 .

这是我正在使用的PHP卷曲代码:

$url = 'https://api.github.com/orgs/<VALID ORG>/repos';

$headers = array();
$headers[] = 'Authorization: token <myvalidauthtoken>';

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_SSLVERSION, 3);
$result = curl_exec($ch);
$r = json_decode($result);
curl_close($ch);

现在这个代码成功地从我的组织中提取了所有的回购,但我们有500个存储库,因此仅仅为了获取有关一个回购信息的信息而将它们全部拉下来是不可行的 . (来自http://developer.github.com/v3/repos/#list-organization-repositories

现在,如果我查看用户拥有的存储库(而不是组织存储库),我发现请求应如下所示:

GET /repos/:owner/:repohttp://developer.github.com/v3/repos/#get

现在我的格式是:

GET /orgs/:org/reposhttp://developer.github.com/v3/repos/#list-organization-repositories

所以我尝试了一些关于URL的排列:

$url = 'https://api.github.com/orgs/<VALID ORG>/repos/<VALIDREPO>';
$url = 'https://api.github.com/<VALID ORG>/<VALIDREPO>';
$url = 'https://api.github.com/repos/<VALID ORG>/repos/<VALIDREPO>';
$url = 'https://api.github.com/repos/orgs/<VALID ORG>/repos/VALIDREPO>';

但所有这些都失败了 . 同伴们的想法是什么?

1 回答

  • 0

    我不敢相信我这样做了 .

    为了记录,Nevik对组织的形式是正确的:

    https://api.github.com/repos/<VALID ORG>/<VALIDREPO>
    

    我这样设置我的网址:

    $url = 'https://api.github.com/repos/$org_name/$repo_name';
    

    看到问题了吗?

    在PHP中,单引号不解析内部变量,双引号确实如下:

    $url = "https://api.github.com/repos/$org_name/$repo_name";
    

    一切都是固定的 .

    再次感谢内维克的理智检查!

相关问题