如何使用Phonegap获取Google Calendar JSON Feed?

时间:2015-01-02 19:59:17

标签: android json cordova jquery-mobile google-calendar-api

我正在使用Phonegap制作应用。在这个应用程序中,我想从公共日历中获取事件列表并显示它们。

在浏览器中测试时工作正常,但使用设备时出错。

$.ajax({
      url: url+'&timeMin='+today+'&key='+key,
      type: 'GET',
      dataType: 'json',
      success: function(data) 
      { 
          //etc

错误讯息:

{
"error": {
  "errors": [
   {
     "domain": "usageLimits",
      "reason": "accessNotConfigured",
       "message": "Access Not Configured. The API is not enabled for your project, or there is a per-IP or per-Referer restriction configured on your API key and the request does not match these restrictions. Please use the Google Developers Console to update your configuration.",
       "extendedHelp": "https://console.developers.google.com"
   }
  ],
    "code": 403,
     "message": "Access Not Configured. The API is not enabled for your project, or there is a per-IP or per-Referer restriction configured on your API key and the request does not match these restrictions. Please use the Google Developers Console to update your configuration."
 }
}

我尝试过使用谷歌开发者控制台上的浏览器密钥和安卓密钥,两者都不起作用。我还没有真正尝试过使用OAUTH,因为这似乎对我想要完成的事情有点过分。就像我说的,它在浏览器中测试时工作正常。

我使用Phonegap Build构建apk,所以我不知道是否有任何隐藏在我身上的东西可能导致这种情况发生。

有关如何使这项工作的任何想法?

2 个答案:

答案 0 :(得分:0)

您是否在开发者控制台中启用了日历API?另外,尝试设置" Referers" to"任何引用者允许"对于你的项目(只是将该字段留空),如果它不是那样的话。要执行此操作,请转到您的控制台并打开Api& amp; auth / Credentials,然后单击"编辑允许的引用者"清空输入字段。

答案 1 :(得分:0)

@SGC我尝试了这个,但您需要一个引荐来源网站地址才能使用HTTP Referrers选项。如果您尝试将其留空,则无法保存该设置。它告诉你选择NONE,这意味着我认为API密钥是易受攻击的。这是真的吗?

Screenshot

如果我选择NONE,我可以在我的Android手机上看到我的网站上的日历事件,但如果我将API限制为 .mywebsite.com / 那么由于某种原因我的android手机(查看网站)在chrome中)不加载cal事件。没有一个非常糟糕的主意吗? 感谢