如何使用 Phonegap 获取 Google 日历 JSON 提要?

How to get Google Calendar JSON feed working with Phonegap?

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

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

$.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."
 }
}

我尝试同时使用浏览器密钥和 Google 开发人员控制台中的 android 密钥,但两者均无效。我并没有真正尝试使用 OAUTH 让它工作,因为这对于我想要完成的事情来说似乎有点矫枉过正。就像我说的,在浏览器中测试时它工作正常。

我使用 Phonegap Build 来构建 apk,所以我不知道是否有任何对我隐藏的事情可能会导致此问题。

关于如何让它工作有什么想法吗?

您是否在开发者控制台中启用了日历 API?此外,尝试将项目的 "Referers" 设置为 "Any referer allowed"(只需将该字段留空),如果它还不是这样的话。为此,请转到您的控制台并打开 Api & auth/ Credentials 并单击 "Edit allowed referers" 清空输入字段。

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

如果我 select NONE 我可以在我的 android phone 上看到我网站上的日历事件,但如果我将 API 限制为.mywebsite.com/ 然后出于某种原因我的 android phone(在 chrome 中查看站点)没有加载校准事件。 NONE 真的是个坏主意吗? 谢谢