如何将Google应用端点与phonegap应用集成

时间:2014-11-07 22:05:02

标签: javascript google-app-engine cordova

我一直在开发Phonegap客户端应用程序,并使用google端点创建所有网络服务。

但是我在使用api时遇到了问题。在我的index.html中,我有这个脚本

<head><script>
    var myapi;
    function initGoogleApis() {
        var ROOT = "https://myapitest.appspot.com/_ah/api";
        gapi.client.load("myapitest", "v1", function() {
            myapi = gapi.client.ratemyday;
        }, ROOT); 
    }
</script></head>
<script src="https://apis.google.com/js/client.js?onload=initGoogleApis"></script>

我试图做的事情让变量myapi变得全球化。

在另一个js文件中,我想在phonegap ondeviceready函数中使用myapi,我就是这样的

 document.addEventListener("deviceready", onDeviceReady, false);

    function onDeviceReady() {
        myapi.items.insert({
            'id' : 4,
            'name' : 'item',
        }).execute(function(resp) {
            console.log(resp);
        });
    }

问题是我没有工作,我的接触像myapi一样未知 我做错了什么? 我如何使用phonegap

使用我的enpoint api

2 个答案:

答案 0 :(得分:2)

我解决了这个问题!

这是一个范围变量问题,另外必须在init函数中调用phonegap onDeviceReady函数。

这项工作对我来说:

     <head><script>
        function initGoogleApis() {
            var ROOT = "https://myapitest.appspot.com/_ah/api";
            gapi.client.load("myapitest", "v1", function() {

            document.addEventListener("deviceready", onDeviceReady, false);

            }, ROOT); 
        }
    </script></head>

<script src="https://apis.google.com/js/client.js?onload=initGoogleApis"></script>

答案 1 :(得分:0)

它看起来像是一个范围变量问题。但我不是百分百肯定的。可能我会检查并告诉你。

而不是

myapi.items.insert()

使用

gapi.client.ratemyday.items.insert()

我很确定这应该有效。在我们的应用程序中,我们使用几乎相同的方式消耗50多个端点api调用。