0

使用环聊 API。我已经集成了环聊按钮并使用传递参数

  gapi.hangout.render('placeholder-div1', {
    'render': 'createhangout',
    'hangout_type': 'onair',
    'initial_apps': [{
    'app_id': '1234566', //renders intially hangout app when hangout starts
    'start_data': "654321", //reference  which is present on the page 
    'app_type': 'ROOM_APP'
        }]
     </code>
  // on my xml the script code is:
   <code> 
     function init() {
     // When API is ready...
    gapi.hangout.onApiReady.add(
    function(eventObj) {
    document.getElementById('showParticipants')
        .style.visibility = 'visible';
        startup();
   });
  }
 function startup(){
 try{
  gapi.hangout.onair.onYouTubeLiveIdReady.add(function(liveId){
    var id = gapi.hangout.onair.getYouTubeLiveId();
    var Id= gapi.hangout.getStartData(); //here Id is null
  }
}

以前当我使用 gapi.hangout.getStartData() 时。我从“initial_apps”中获得了“start_data”参数。我认为环聊已经改变了那里的界面。现在 gapi.hangout.getstartData() 正在获得空值。

我不知道出了什么问题。请建议我更好的解决方案。

4

1 回答 1

2

它主要发生在当您开始环聊时应用程序未加载并且您在环聊开始后手动单击环聊内的应用程序图标时。

https://developers.google.com/+/hangouts/api/gapi.hangout#gapi.hangout.getStartData

getStartData() - 获取当前活动应用程序的起始数据。这是由 gd URL 参数传入的数据(也可用于 gadgets.views.getParams)。如果未指定起始数据,则返回 null。

尝试使用 gadgets.views.getParams 并查看问题是否仍然存在

更新——尝试手动获取 start_data

添加以下脚本以获取查询参数

<script>
var qs = (function(a) {
if (a == "") return {};
var b = {};
for (var i = 0; i < a.length; ++i)
{
    var p=a[i].split('=', 2);
    if (p.length == 1)
        b[p[0]] = "";
    else
        b[p[0]] = decodeURIComponent(p[1].replace(/\+/g, " "));
}
return b;
})(window.location.search.substr(1).split('&'));

然后使用以下内容获取作为 gd 查询参数传递的起始数据

var hangoutstartdata = qs["gd"]
于 2014-11-12T22:01:34.660 回答