【问题标题】:github api v3 creating a tree phpgithub api v3 创建树 php
【发布时间】:2013-01-22 10:23:09
【问题描述】:

我即将完成这项工作,但每次尝试创建树时,都会返回服务器错误。有任何想法吗?这是我的php代码:

function send_data($url, $content) {
    $ch = curl_init();
    $timeout = 5;
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
    curl_setopt($ch, CURLOPT_USERPWD, 'myuser:mypass');
    curl_setopt($ch, CURLOPT_POST, TRUE);
    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($content));
    $a = array();
    $a['d'] = curl_exec($ch);
    $a['i'] = curl_getinfo($ch);
    curl_close($ch);
    return $a;
}

$treeArr = array(
    "base_tree" => "d7126bd6c559ab461e851e96ef2c33675d851c5e",
    "tree" => array(
        "path" => "resources/blahTest.txt",
        "mode" => "100644",
        "type" => "blob",
        "sha" => "38d15319d3ee8a7292be0ec0da65fe111660a94d"
    )
);

$x = send_data("https://api.github.com/repos/srolfe26/Branch-IDE/git/trees",$treeArr);
print_r($x);

我为 blob 提供的 sha 是我使用相同的 send_data 函数创建的新 blob。 base_tree sha 是从基本提交中找到的树。另外,我在这里遵循这个例子:http://www.pqpq.de/2011/07/pithub-how-to-commit-new-file-via.html

谢谢!

【问题讨论】:

    标签: php git api github


    【解决方案1】:

    请求数据中的“树”项需要是项数组而不是单个项,因为树是项的集合。

    $treeArr = array(
        "base_tree" => "d7126bd6c559ab461e851e96ef2c33675d851c5e",
        "tree" => array(
            array(
                "path" => "resources/blahTest.txt",
                "mode" => "100644",
                "type" => "blob",
                "sha" => "38d15319d3ee8a7292be0ec0da65fe111660a94d"
            )
        )
    );
    

    【讨论】:

    • 我试试看。我有一段时间没碰这个了,但也许是时候完成我最初的过程了。
    猜你喜欢
    • 2011-12-13
    • 2021-09-04
    • 2014-03-19
    • 2013-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-27
    • 2012-08-01
    相关资源
    最近更新 更多