【问题标题】:After clicking Hangout button "gapi.hangout.getStartData()" returns null单击环聊按钮“gapi.hangout.getStartData()”后返回 null
【发布时间】:2014-11-07 13:40:09
【问题描述】:

使用环聊 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() 正在获取空值。

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

【问题讨论】:

    标签: hangout google-hangouts


    【解决方案1】:

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

    来自

    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"]
    

    【讨论】:

    • 是的,我已尝试使用 gadgets.views.getParams 但它无法正常工作,应用程序加载没有问题,但我无法获得“start_data”值。
    • @sitaram9292 尝试将您的起始数据放入单个 qoutes 'start_data': '654321'
    • 是的,它在我的工作代码中用单引号括起来。问题是我无法获取我从应用程序发送的参数。
    • 你在哪里传递gd查询参数
    • @sitaram9292 您的 start_data 将作为 gd 参数接收
    猜你喜欢
    • 2016-12-10
    • 2012-04-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-11
    相关资源
    最近更新 更多