首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我可以使用ajax和jquery访问我的私有bitbucket存储库吗?

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

Stack Overflow用户
提问于 2012-11-26 09:25:41
回答 2查看 1.6K关注 0票数 2

在我的网站上,我目前正在使用jquery从我托管在bitbucket.org上的一个存储库中生成一个标签列表。但为了做到这一点,我已经公开了存储库。我更喜欢保持私密性。

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

代码如下所示(在此表单中,它将在控制台中生成一个包含所有标记的列表)。

代码语言:javascript
运行
复制
$.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)
    });
});
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-11-29 03:13:53

基本上,我了解到"Authorization header是必需的“。而共识似乎是,这不能在jquery中使用JSONP请求来完成。我真的不知道为什么。

但是,我已经能够通过编写一个通过php file_get_contents调用传递授权头的php脚本来达到预期的效果。然后,正如上面的注释所建议的那样,我可以使用ajax脚本加载所需的数据。php脚本如下所示:

代码语言:javascript
运行
复制
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,则需要添加头部。

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

票数 3
EN

Stack Overflow用户

发布于 2018-02-26 21:20:51

您也可以使用app password进行身份验证,以避免暴露您的帐户密码:

代码语言:javascript
运行
复制
const username = 'your-username'; // USERNAME, not email
const appPassword = 'app-pass';
const repoOwner = 'you-or-your-team';
const repository = 'repository-name';

$.ajax({
    url: `https://api.bitbucket.org/1.0/repositories/${repoOwner}/${repository}/tags`,
    headers: {
        Authorization: 'Basic ' + btoa(`${username}:${appPassword}`)
    },
    success: console.log,
    error: d => console.log(d.responseText),
});
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13557490

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档