2011-08-17 58 views
1

當我將我的事件的xml文件發佈到谷歌的服務器時,有時我會收到下面的html,我很困惑它爲什麼發生,但有時它是確定的。任何人都可以幫助我?錯誤:無法訪問您請求的日曆

是否由連接錯誤引起?或者令牌無效?或者是什麼?

<html><head><meta http-equiv="content-type" content="text/html;charset=UTF-8"> 
<title>Error</title> 
<style type="text/css">body {font-family: arial,sans-serif}</style></head> 
<body text="#000000" bgcolor="#ffffff"><table border="0" cellpadding="2" cellspacing="0" width="100%"><tr><td rowspan="3" width="1%" nowrap><b><font face="times" size="10"><font color="#0039b6">G</font> <font color="#c41200">o</font> <font color="#f3c518">o</font> <font color="#0039b6">g</font> <font color="#30a72f">l</font> <font color="#c41200">e</font></font>&nbsp;&nbsp;</b></td> 
<td>&nbsp;</td></tr> 
<tr><td bgcolor="#3366cc"><font face="arial,sans-serif" color="#ffffff"><b>Error</b></font></td></tr> 
<tr><td>&nbsp;</td></tr></table> 
<blockquote>Cannot access the calendar you requested</blockquote> 
<p></p> 
<div style="background:#3366cc; width:1px; height:4px"></div></body></html> 

回答

1

好了,我不能說我真的很喜歡這個問題的答案,但我有同樣的問題,結果發現有點finagling後一個答案。

Google有它自己的會話ID,它用於這些類型的請求。您第一次提出請求時,會啓動會話併爲您提供重定向;它也會導致你在上面看到的錯誤。從我可以收集的信息中可以看出,如果在設置了會話ID之後再次嘗試請求,則請求將會通過。

換句話說,您必須發送請求並檢查Google的回覆,看看您是否被重定向。如果是,則您有a couple of options來獲取包含Google會話ID(gsessionid)的URL;我選擇從響應中解析Location標題,它顯示了數據應該發佈到的URL。通過發佈到新網址再次嘗試您的請求(以及任何後續請求),並且它應該像魅力一樣工作。只需要一點去那裏。

欲瞭解更多關於此信息,檢查the Google documentation on redirectsthis somewhat related StackOverflow question

+0

感謝您的回覆......我已經解決了這個問題。 – xuyao

+0

這是因爲java中的HttpClient。重定向時,它會丟失所有的帖子數據。 – xuyao