我一直在开发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答案 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调用。