Ошибка: невозможно получить доступ к запрашиваемому вами календарю - PullRequest
1 голос
/ 17 августа 2011

Когда я публикую 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 Ответ

1 голос
/ 26 сентября 2011

Ну, я не могу сказать, что мне действительно нравится ответ на этот вопрос, но у меня возникла та же проблема, и я нашел ответ после небольшого смущения.

У Google естьсвой собственный идентификатор сеанса, который он использует для таких запросов.В первый раз, когда вы делаете запрос, он запускает сеанс и дает вам перенаправление;это также вызывает ошибку, которую вы видели выше.Из того, что я могу получить, если вы попробуете запрос еще раз после того, как идентификатор сессии был установлен, запрос будет обработан.

Другими словами, вы должны отправить запрос и проверить ответ от Google, чтобы увидетьесли вы перенаправленыЕсли у вас есть, у вас есть пара вариантов , чтобы получить URL, включающий идентификатор сессии Google (gsessionid);Я решил разобрать заголовок Location из ответа, который показывает URL, по которому должны быть опубликованы данные.Повторите ваш запрос еще раз (и любые последующие запросы), разместив этот новый URL, и он должен работать как шарм.Это займет немного времени.

Для получения дополнительной информации об этом, проверьте документацию Google по перенаправлениям и этот несколько связанный вопрос StackOverflow .

...