2011-08-17 9 views
1

내 이벤트의 XML 파일을 Google 서버에 게시 할 때 때로는 아래 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을 표시합니다. 새 URL에 게시하여 요청을 다시 시도하십시오. 그러면 매력처럼 작동합니다. 거기에 가기까지 조금 걸립니다.

자세한 내용은 the Google documentation on redirectsthis somewhat related StackOverflow question을 확인하십시오.

+0

답장 보내 주셔서 감사합니다 ... 이미이 문제를 해결했습니다. – xuyao

+0

자바의 HttpClient 때문입니다. 리디렉션하면 모든 게시물 데이터가 손실됩니다. – xuyao

관련 문제