我可以使用 ajax 和 jquery 访问我的私有 bitbucket 存储库吗?

2024-02-15

在我的网站上,我目前正在使用 jquery 从 bitbucket.org 上托管的一个存储库生成标签列表。但为了做到这一点,我必须公开该存储库。我宁愿保密。

我是否可以允许站点以这种方式访问​​我的存储库,同时仍保持存储库的私有性。

代码如下所示(在这种形式下,它将在控制台中生成所有标签的列表)。

$.ajax({
        url:"https://api.bitbucket.org/1.0/repositories/jeffreycwitt/publicrepository/tags",
        dataType: "jsonp",
        crossDomain: true,
        success: function (returndata){
           $.each(returndata, function(key, value){
               console.log(key)
    });
});

基本上我了解到“需要授权标头”。共识似乎是这不能用 jquery 中的 JSONP 请求来完成。我真的不知道为什么。

但我已经能够通过编写一个通过 php 传递授权标头的 php 脚本来实现所需的结果file_get_contents称呼。然后按照上面评论的建议,我可以使用ajax脚本来加载所需的数据。 PHP 脚本如下所示:

context = stream_context_create(array(
'http' => array(
    'header' => "Authorization: Basic " . base64_encode("$username:$password")
)
));

// Make the request 
$json = file_get_contents($url, false, $context);

//parse data
//turn json data into an array
$obj_a = json_decode($json, true);

//get all keys of array
$tags = array_keys($obj_a);

因此,如果有人想从私有 bitbucket 存储库检索所有标签,您可以这样做。 Bitbucket api 文档没有说明如何验证私有存储库(除非通过 CURL)。但如果您不使用 CURL,则需要添加标头。

希望对某人有帮助。 (如果您认为您可以更好地解释这一点,请随时编辑此答案)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我可以使用 ajax 和 jquery 访问我的私有 bitbucket 存储库吗? 的相关文章

随机推荐