2011-08-17 7 views
1

イベントのxmlファイルをGoogleのサーバーに投稿すると、以下のhtmlが表示されることがあります。なぜそれが起こるのか非常に混乱しますが、時にはOKです。誰でも私を助けることができますか?エラー:リクエストしたカレンダーにアクセスできない

接続エラーが原因ですか。トークンが無効ですか?または何?

<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を示しています。その新しいURLに投稿して再度リクエスト(およびその後のリクエスト)を試みると、チャームのように機能するはずです。そこに行くにはちょっと時間がかかります。

この詳細については、the Google documentation on redirectsthis somewhat related StackOverflow questionを確認してください。

+0

あなたの返信ありがとう...私はすでにこの問題を解決しました。 – xuyao

+0

javaのHttpClientが原因です。リダイレクトすると、すべての投稿データが失われます。 – xuyao

関連する問題