如何使用OpenSocial访问访问小工具。*

时间:2010-10-12 04:20:10

标签: opensocial

如果我的内容类型是网址,是否可以在我的JavaScript代码中使用gadgets.*

2 个答案:

答案 0 :(得分:1)

您可以使用Proxied Content功能。这样,您就可以访问从您自己的服务器获取的内容中的小工具。*

<Module>
  <ModulePrefs title="My App">
    <Require feature="opensocial-0.9"/>
  </ModulePrefs>
  <Content view="canvas" href="http://www.example.com/myapp/canvas/index.html">
  </Content>
</Module>

答案 1 :(得分:1)

根据OpenSocial规范(至少从0.8及更高版本开始),应该在内容URL参数中传递指向所请求功能的JavaScript库的相对路径链接。在OpenSocial规范中搜索关键字“libs”以获取更多信息。

问题仍然是URL中给出的路径是相对的,而不是绝对的,您需要知道基本URL附加此参数的位置。讨论主题here建议使用基本网址“https://www-gm-opensocial.googleusercontent.com/gadgets/js/”并按原样附加“libs”的值,但我已经没有成功验证。我们用于在iGoogle上获取OpenSocial小工具库的代码(具有jQuery支持)是:

var libsMatch = window.location.search.match(/[?&]libs=([^&]*)/);
if (libsMatch) {
    var libArray = libsMatch[1].split(",");
    $.each( libArray, function(i, val) {
        $.ajax( {
            url: "http://www.google.com/ig/f/" + val,
            dataType: 'script'
        } );
    } );
}

但请注意,并非所有API都以这种方式提供,例如,gadgets.io。*无法以这种方式启用,其他API需要进行测试。