YouTube API v3:如何通过javascript和查询获取totalResults(pageInfo)?

时间:2015-05-30 00:30:28

标签: youtube-api youtube-data-api

我需要通过javascript获取totalResults并通过网址查询到YouTube。 如果我得到0结果,我需要将一个变量传递给当前的tpl文件,否则另一个变量。

eg. q (query) = "galaxy s6"
var url = "https://www.googleapis.com/youtube/v3/search?q=... ..."
...
...
if (json.pageInfo.totalResults == 0) {var x = "no"}
else {var x = "yes"}

然后将x传递给tpl。 你能帮我吗? 感谢

1 个答案:

答案 0 :(得分:0)

好吧,我在tpl上做了

<script src="https://apis.google.com/js/client.js?onload=googleApiClientReady"></script>
    {literal}
    <script>
    function keyWordsearch(){
            gapi.client.setApiKey('myapikey');
            gapi.client.load('youtube', 'v3', function() {
                    makeRequest();
            });
    }
    function makeRequest() {
            var q = 'galaxy s6';
            var request = gapi.client.youtube.search.list({
                       q: q,
                    part: 'snippet',
                    type: 'video',
                    location: '45.465422,9.185924',
                    locationRadius: '100km'                 

            });
            request.execute(function(response) {
                    if(response.pageInfo.totalResults >= 1) {
                    var res = 'yes';
                    } else {
                    var res = 'no';
                    }
            });
    }
 </script>
 {/literal}

问题1): 如何通过 res 才能在同一页面上访问它? 有可能以一种简单的方式或首先我使用jquery填充一个字段(例如div),然后我读取该字段?

问题2): 如果我用jQuery读取该字段,它可以为页面加载一个js脚本, 取决于res值?

问题3): 有可能直接从该javascript加载整个页面的其他所需的javascript而不是传递变量吗?

我可以做这样的事情......?

var fileref=document.createElement('script');
fileref.setAttribute("type","text/javascript");
if(response.pageInfo.totalResults >= 1) {

        fileref.setAttribute("src", fileONE.js);
                        } else {
        fileref.setAttribute("src", fileTWO.js);
                        }
       document.getElementsByTagName("head")[0].appendChild(fileref);

感谢