Текущий URL неверен для API календаря Google - PullRequest
2 голосов
/ 25 августа 2011

Когда я отправил запрос на авторизацию, Google сказал, что URL-адрес неверный.Я подозреваю, что это потому, что у меня есть поддомен в моем URL.

URL, который отправляет запрос: http://admin.domain.com/test.php

В php я поместил эту строку кода в $ nextпеременная: '

http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];

Когда я повторяю его, он показывает правильный URL-адрес, но Google сообщает мне следующее:

Запрошенная вами страница не может быть отображена.Другой сайт запрашивал доступ к вашей учетной записи Google, но отправил неверный запрос.Свяжитесь с сайтом, который вы пытались использовать, когда получили это сообщение, чтобы сообщить им об ошибке.Далее следует подробное сообщение об ошибке:

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

Подробное сообщение об ошибке следующее: Сайт "http://domain.com" не был зарегистрирован.

Где моя проблема?

Спасибо,

Etienne NOEL

EDIT1:

Вот мой код: я выполнил все инструкции, и ошибка все еще остается:

session_start();

require_once 'lib/Zend/Loader.php';
set_include_path($_SERVER['DOCUMENT_ROOT'].'/lib/');

    Zend_Loader::loadClass('Zend_Gdata');
    Zend_Loader::loadClass('Zend_Gdata_ClientLogin');
    Zend_Loader::loadClass('Zend_Gdata_Calendar');
    Zend_Loader::loadClass('Zend_Http_Client');
    Zend_Loader::loadClass('Zend_Gdata_Query');
    Zend_Loader::loadClass('Zend_Gdata_AuthSub');


$my_calendar = 'http://www.google.com/calendar/feeds/default/private/full';

if (!isset($_SESSION['cal_token'])) {
    if (isset($_GET['token'])) {
        // You can convert the single-use token to a session token.
        $session_token =
            Zend_Gdata_AuthSub::getAuthSubSessionToken($_GET['token']);
        // Store the session token in our session.
        $_SESSION['cal_token'] = $session_token;
    } else {
        // Display link to generate single-use token
        $googleUri = Zend_Gdata_AuthSub::getAuthSubTokenUri(
            'http://'. $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'],
            $my_calendar, 0, 1);
        echo "Click <a href='$googleUri'>here</a> " .
             "to authorize this application.";
        exit();
    }
}

// Create an authenticated HTTP Client to talk to Google.
$client = Zend_Gdata_AuthSub::getHttpClient($_SESSION['cal_token']);

// Create a Gdata object using the authenticated Http Client
$cal = new Zend_Gdata_Calendar($client);
...