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

How to get all the repositories for a particular user?

我正在尝试为特定用户提取各种存储库名称并在 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 中编写类似的代码有效,我能够看到所有存储库名称。任何帮助将不胜感激。

结果如下:

编辑:

即使您未通过他们的 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)
    }
});

(我 100% 确定此代码可以正常工作,因为我几分钟前用我自己的 Bitbucket 帐户对其进行了测试)。

注意:请注意,在代码中存储您的凭据是您不应该做的事情,所以在您发布 code/application 之前请三思 public.


过时的答案:

只要看看 documentation Bitbucket 提供给您的(尽管示例响应看起来有点奇怪)。

假设您的 data 对象已经是一个 JSON 解析对象,您应该能够像这样访问您的存储库(编辑:代码调整了提供的屏幕截图):

data.values

解析 JSON 响应。如果它在 Python 或 Java 中有效,那么它一定与您在 JavaScript 中处理响应的方式有关。也许您没有解析它,您需要解析它以将其转换为包含您想要的所有元素的适当 JSON 对象。

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