获得拉力赛API密钥在拉力赛App之外工作

时间:2014-10-29 18:15:52

标签: rally

我已经看到了这个问题和回复,但它仍然不适合我们: Embedding Apps with API key

我们遇到了Rally API的问题。我们的目的是制作一个独立的页面(拉力赛之外),显示组合看板。

我已附上测试页。它是由rally-app-builder创建的。我们创建了一个API密钥。当我们尝试加载页面时,传递API密钥,我们得到一个关于跨站点违规的json异常。文档说如果我们没有通过密钥,我们会看到这个错误。但即使我们通过它,错误仍然存​​在。

我们已经通过apache服务器尝试过了,所以关于成为独立文件的问题不是我们的问题。有没有人有其他想法?

html页面如下。



<!DOCTYPE html>
<html>
<head>
    <title>helloworld</title>

    <script type="text/javascript" src="https://rally1.rallydev.com/apps/2.0rc3/sdk.js"></script>

    <script type="text/javascript">
        Rally.onReady(function () {
                Ext.define("CustomApp",{extend:"Rally.app.App",componentCls:"app",items:{html:'<a href="https://help.rallydev.com/apps/2.0rc3/doc/">App SDK 2.0rc3 Docs</a>'},launch:function(){this.add({xtype:"rallycardboard",types:["Portfolio Item/Feature"],attribute:"State",storeConfig:{context:{project:"/project/14292239482",projectScopeUp:!1,projectScopeDown:!0}},context:this.getContext(),readOnly:!0})}});

            Rally.launchApp('CustomApp', {
                name:"helloworld",
	            parentRepos:""
            });

        });
    </script>


    <style type="text/css">
        
    </style>
</head>
<body>
</body>
</html>
&#13;
&#13;
&#13;

我们生成的api密钥是alm-wsapi-read-only类型。加载页面时,即使提供了apikey参数,我们也会收到JSON x-site错误。

我们想知道在Rally订阅方是否有更改配置,或者文档中是否存在错误或其他简单的错误。

2 个答案:

答案 0 :(得分:1)

我提交了一个缺陷。它可以使用rally-app-builder运行命令加载App-debug.html:

rab run

并将apiKey附加到应用程序的URL作为查询参数。它使用apiKey加载正常:

enter image description here

当我选择其他服务器加载嵌入式应用时,问题就出现了,例如:

a)在另一个目录中启动一个简单的http python或节点服务器

b)将App-external.html从deploy文件夹复制到运行服务器的目录

c)在此目录中创建一个新文件App-embedded.html:

<html>
  <header>
    <title>Embedded app test: revs</title>
  </header>
  <body>
    <iframe src="http://localhost:9000/App-external.html?apiKey=_Ib4u6d7"></iframe>
  </body>
</html>

d)加载App-embedded.html

这些步骤会导致跨源错误。

如果您检入Chrome的“网络”标签或Safari调试程序,则会显示工件(分层要求或缺陷)请求失败。有趣的是,前面的订阅,用户和架构请求成功完成。 Safari的屏幕截图:

enter image description here

答案 1 :(得分:0)

事实证明,底层问题与Rally服务器上的CORS配置有关,而与App SDK 2.0rc3无关。截至2014年11月24日,这个问题应该得到解决。