2012-05-29 175 views
1

我試圖連接我的asp.net(vb.net)應用谷歌日曆,所以我可以張貼在谷歌日曆事件。訪問谷歌日曆API V3在.NET

到目前爲止,我已經成功地獲得訪問令牌和刷新令牌。我計劃存儲刷新令牌,以便我的應用可以在用戶註銷很長時間後訪問特定的Google日曆。

所以,我有我的訪問令牌,現在什麼刷新令牌,?我找不到任何可以使用訪問令牌連接到Google日曆API v3的示例 - 即使在Google網站上,所有示例都涉及使用客戶端庫來獲取訪問令牌(我已獲得),並創建一個沒有參數傳遞的新CalendarService()對象。

是否有可能創建一個CalendarService類,並給它一個訪問令牌我已經有了?

回答

1

過了一段時間弄清楚OAuth的認證流程,所以我創建了一個小項目,有基本概念編碼

  1. 獲得通過OAuth
  2. 刷新過期的訪問令牌
  3. 使用做一些事件訪問令牌

該項目在這裏舉行https://code.google.com/p/csharp-googlecalendar-api-v3-oauth2/及其在csharp的,但我沒有做那麼簡單,因爲我可以

你可能會想看看這個特定的文件https://code.google.com/p/csharp-googlecalendar-api-v3-oauth2/source/browse/CalChecker/simpleEvent.aspx.cs

string accesstoken = "usersaccesstoken"; 
string client_id = "getclientidfromcloud"; 
string client_secret = "getclientsecretfromcould"; 
string useremailaccount = "[email protected]"; 

var httpWebRequest1 = (HttpWebRequest)WebRequest.Create("https://www.googleapis.com/calendar/v3/calendars/" + WebUtility.HtmlEncode(useremailaccount) + "/events"); 
httpWebRequest1.ContentType = "text/json"; 
httpWebRequest1.Method = "GET"; 
httpWebRequest1.Headers["Authorization"] = "Bearer " + accesstoken; 
var httpResponse1 = (HttpWebResponse)httpWebRequest1.GetResponse(); 
using (var streamReader = new StreamReader(httpResponse1.GetResponseStream())) 
{ 
    var result = streamReader.ReadToEnd(); 
} 

所有的代碼做的是創造一個GET的WebRequest,注意授權頭..這是你如何通過訪問令牌調用的事件需要身份驗證。

希望它有幫助