如何获取特定用户的所有存储库?

时间:2016-09-06 09:19:12

标签: javascript jquery ajax bitbucket

我正在尝试为特定用户提取各种存储库名称,并在html页面上填充组合框。我只能提取一个存储库名称。我怎样才能得到所有的名字?我到目前为止的代码:

$.ajax({
        url:"https://api.bitbucket.org/2.0/repositories/abc",
        username: "palld@bdbd.in",
        password: "abcdef123456",
        success: function(data){
            console.log(data);
        },
        error: function(){
            console.log("Connection did not go through");
        },
        type: 'GET'
    });

在Java和python中编写类似的代码,我能够看到所有的存储库名称。任何帮助将不胜感激。

结果如下: enter image description here

2 个答案:

答案 0 :(得分:2)

编辑:

即使您未对其API进行身份验证,Bitbucket也会向您发送一些数据。我怀疑API没有向您发送身份验证请求,并且jQuery在没有请求时根本不发送用户名和密码。

此代码显式将身份验证数据发送到API:

var reposUsername = "OWNER_OF_REPOS";
var authUsername = "YOUR_USERNAME";
var authPassword = "YOUR_PASSWORD";

$.ajax({
    url:"https://api.bitbucket.org/2.0/repositories/" + reposUsername,
    success: function(data){
        console.log(data);
    },
    error: function(){
        console.log("Connection did not go through");
    },
    type: 'GET',

    headers: {
        'Authorization': "Basic " + btoa(authUsername + ":" + authPassword)
    }
});

(我完全可以肯定这段代码可以运行,因为我几分钟前用我自己的Bitbucket帐户测试过它。)

注意:请注意,将您的凭据存储在代码中是您不应该做的事情,因此在向公众发布代码/应用程序之前请三思而后行。

过时答案:

只需看看documentation Bitbucket为您提供的内容(尽管示例响应看起来有些奇怪)。

假设您的data对象已经是JSON解析对象,您应该可以访问这样的respositiories(编辑:代码调整了提供的屏幕截图):

data.values

答案 1 :(得分:0)

解析JSON响应。如果它适用于Python或Java,那么它必须与您在JavaScript中处理响应的方式有关。也许您没有解析它,您需要将其转换为包含所需元素的正确JSON对象。

success: function(data){
    console.log(JSON.parse(data));
},