2014-04-25 223 views
0

我需要使用Google日曆API來檢索日曆中的數據。Google日曆API問題?

我創建了我的應用程序並創建了我的服務器API密鑰。我輸入了我的IP地址(因爲我在我的測試服務器上運行)。

之後,我創建了我的簡單PHP文件,它使用Curl從Google服務器請求數據。該文件是這樣的:

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch,CURLOPT_URL,"https://www.googleapis.com/calendar/v3/calendars/[email protected]/events?maxResults=15&key={My Key}"); 
$result=curl_exec($ch); 
echo $result; 

然而,這是執行的時候,我收到此JSON(錯誤):

{ 
"error": { 
    "errors": [ 
    { 
    "domain": "usageLimits", 
    "reason": "accessNotConfigured", 
    "message": "Access Not Configured. Please use Google Developers Console to activate the API for your project." 
    } 
    ], 
    "code": 403, 
    "message": "Access Not Configured. Please use Google Developers Console to activate the API for your project." 
} 
} 

我甚至輸入的URL在瀏覽器中,並得到數據。幾個小時後,我的瀏覽器返回相同的錯誤信息?我錯過了什麼,或者這只是一個錯誤?

下面是該API控制檯給我)(這證明我說在我的瀏覽器的工作,而不是通過捲曲)

enter image description here

+0

你是否公開這個日曆?根據[this](https://developers.google.com/console/help/new/#usingkeys)(並且僅使用API​​密鑰),只有公共信息可以通過API(僅)鍵。否則,您需要使用OAuth 2.0。它在瀏覽器中暫時工作的原因可能是您有一個用於登錄的cookie。對於私人日曆,您需要使用OAuth 2.0(或者您需要公開日曆)。 – Rik

+0

@Rik是的,它是公開的。我能夠從舊版本中獲得Feed,=,但是我需要這個新版本才能工作。 –

+0

我認爲你檢查[email protected]確實是你的公共日曆的「日曆ID」?您可以嘗試重新創建「服務器API密鑰」而不輸入「允許的IP」? (你使用的是外部IP還是內部IP?兩者都不適用於我,省略了IP對我來說沒有任何作用,雖然不是很安全,但這是一個開始:) – Rik

回答

0

等待兩天後,API響應開始工作。這讓我非常困惑,我真的期待Google提供更專業的API。我會繼續關注這個問題,直到有人發佈一個真正的解決方案來解決這個問題。謝謝。

0

1轉到Google Developers Console
2)選擇一個項目。
3)在左邊的邊欄中,選擇API &驗證。在API列表中,確保Google Calendar API的狀態爲ON。

+0

它是。我也爲服務器輸入了正確的IP地址。 Idk什麼可能是錯的。 –