单击环聊按钮后,“gapi.hangout.getStartData()”将返回null

时间:2014-11-07 13:40:09

标签: hangout google-hangouts

使用环聊功能表。我已经集成了环聊按钮并使用

传递了参数
  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()时。我得到了#34; start_data&#34;来自我&#34; initial_apps&#34;的参数。我认为环聊改变了界面。现在gapi.hangout.getstartData()获得空值。

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

1 个答案:

答案 0 :(得分:2)

当您启动视频群聊并且在视频群聊开始后手动点击视频群聊内的应用图标时,会发生这种情况。

来自

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

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

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

Update-- 尝试手动获取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"]