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() は null 値を取得しています。

何が悪いのかわからない。より良い解決策を提案してください。

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 に答える