Google Blogger V3 API OAuth больше не работаетPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Google Blogger V3 API OAuth больше не работает

Сообщение Anonymous »

Я использовал API Blogger V3 в течение многих лет. Я использую официальную библиотеку PHP GoogleApis.com для повторных данных и заботиться о потоке OAuth2. Поскольку пару дней я больше не могу позволить пользователям авторизовать мое приложение. Я могу использовать библиотеку Google, чтобы получить с собой пользовательскую информацию. < /Li>
< /ul>

Код: Выделить всё

$oauth = new Google_Service_Oauth2($client);
$userinfo = $oauth->userinfo->get();
access_token проверяется нормально при использовании https://oauth2.googleapis.com/tokeninfo?access_token=}. Я получаю полный объект как должен: < /li>
< /ul>

Код: Выделить всё

stdClass#1
(
[access_token] => '{TOKEN}'
[expires_in] => 3599
[refresh_token] => '{REFRESH_TOKEN}'
[scope] => 'https://www.googleapis.com/auth/blogger https://www.googleapis.com/auth/userinfo.profile'
[token_type] => 'Bearer'
[id_token] => '{ID_TOKEN}'
)
< /code>
Я могу отлично получить информацию о блогере и контент в Google Playground, когда я введу Access_token, которую я получил, используя поток OAuth на моем сервере. Таким образом, access_token 
, кажется, работает в самой среде Google. Например: < /p>

У вашего клиента нет
разрешения на получение URL /V3 /blogs /byurl < /code> с этого сервера. Это все, что мы знаем.

Код: Выделить всё

$client = new \Google_Client();
$client->setClientId({ID});
$client->setClientSecret({SECRET});
$client->setRedirectUri({CALLBACK_URL});
$client->setAccessType('offline');
$client->setPrompt('consent');
$client->addScope([
'https://www.googleapis.com/auth/blogger',
'https://www.googleapis.com/auth/userinfo.profile',
]);

$authUrl = $client->createAuthUrl();
$this->redirect($authUrl);
< /code>
обработка обратного вызова: < /p>

if (!isset($_GET['code'])) {
throw new CHttpException(400, 'No code provided');
}

$client->setClientId({ID});
$client->setClientSecret({SECRET});
$client->setRedirectUri({CALLBACK_URL});
$client->setAccessType('offline');

$token = $client->fetchAccessTokenWithAuthCode($_GET['code']);

if (isset($token['error'])) {
throw new CHttpException(400, 'Google auth error: ' . $token['error_description']);
}

// For test purposes the token is just saved to session instead of DB
Yii::app()->session['google_token'] = $token;

$client->setAccessToken($token);

$oauth = new Google_Service_Oauth2($client);

// This works. An object with the user information is returned
$userinfo = $oauth->userinfo->get();

$service = new Google_Service_Blogger($client);

// this doesn't work and returns the 403 error
$blogs = $service->blogs->getByUrl([
'url'=> '{BLOG_URL}'
]);
Отправка запросов прямого обработки с помощью access_token в качестве носителя в заголовке авторизации возвращает ту же ошибку:
$client = new \GuzzleHttp\Client();
$res = $client->get('https://www.googleapis.com/blogger/v3/users/self/blogs', [
'headers' => [
'Authorization' => 'Bearer {ACCESS_TOKEN}'
]
]);

/// returns 403
echo $res->getBody();
< /code>
Я действительно потерян. В моей панели Google Cloud Console нет уведомлений. Кажется, что API блоггера только что сломался без предупреждения. Спасибо!

Подробнее здесь: https://stackoverflow.com/questions/796 ... ng-anymore
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Google Blogger V3 API OAuth больше не работает
    Anonymous » » в форуме Php
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous
  • Google Blogger API возвращает ошибку 403
    Anonymous » » в форуме IOS
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • Ошибка области OAuth в API Gmail для отправки электронных писем с помощью Google OAuth в Python
    Anonymous » » в форуме Python
    0 Ответы
    52 Просмотры
    Последнее сообщение Anonymous
  • Создание прозрачного iframe гаджета Google (Blogger)
    Anonymous » » в форуме CSS
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous
  • C# API для новой публикации в Blogger
    Anonymous » » в форуме C#
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Php»