google api — Как зарегистрировать новый пост на блоггере с помощью PHP?

<?php
session_start();

require_once dirname(__FILE__) . '/google-api-php-client/src/Google/autoload.php'; // or wherever autoload.php is located
require_once dirname(__FILE__).'/google-api-php-client/src/Google/Service/Blogger.php';

$scriptUri = "http://".$_SERVER["HTTP_HOST"].$_SERVER['PHP_SELF'];

$client = new Google_Client();
$client->setAccessType('online'); // default: offline
$client->setApplicationName('Title'); //name of the application
$client->setClientId('xxxxxxxxxxx.apps.googleusercontent.com'); //insert your client id
$client->setClientSecret('zzzzzzzzzzzzzzzzzzz'); //insert your client secret
$client->setRedirectUri($scriptUri); //redirects to same url
$client->setDeveloperKey('yyyyyyyyyyyyyyyyy'); // API key (at bottom of page)
$client->setScopes(array('https://www.googleapis.com/auth/blogger')); //since we are going to use blogger services$blogger = new Google_Service_Blogger($client);

if (isset($_GET['logout'])) { // logout: destroy token
unset($_SESSION['token']);
die('Logged out.');
}

if (isset($_GET['code'])) { // we received the positive auth callback, get the token and store it in session
$client->authenticate();
$_SESSION['token'] = $client->getAccessToken();
}

if (isset($_SESSION['token'])) { // extract token from session and configure client
$token = $_SESSION['token'];
$client->setAccessToken($token);
}

if (!$client->getAccessToken()) { // auth call to google
$authUrl = $client->createAuthUrl();
header("Location: ".$authUrl);
die;
}
//you can get the data about the blog by getByUrl
$data = $blogger->blogs->getByUrl(array('url'=>'http://gggggggggg.blogspot.com/'));

//creates a post object
$mypost = new Google_Service_Blogger_Post();
$mypost->setTitle('this is a test 1 title');
$mypost->setContent('this is a test 1 content');
$data = $blogger->posts->insert('999999999999999', $mypost);
?>

Возвращает ошибку:
Предупреждение: отсутствует аргумент 1 для Google_Client :: authenticate (), который вызывается в /home/vvvvvvvvvv/public_html/post2.php в строке 27 и определяется в / home / vvvvvvvvvv / public_html / google-api-php-client / src / Google / Client.php на линии 122

Неустранимая ошибка: необработанное исключение «Google_Auth_Exception» с сообщением «Неверный код» в /home/vvvvvvvvvv/public_html/google-api-php-client/src/Google/Auth/OAuth2.php:87 трассировке стека: # 0 / home / vvvvvv /public_html/google-api-php-client/src/Google/Client.php(125): Google_Auth_OAuth2-> authenticate (NULL) # 1 /home/vvvvvvvvvv/public_html/post2.php(27): Google_Client-> аутентичный ) # 2 {main} добавлено в /home/vvvvvvvvvv/public_html/google-api-php-client/src/Google/Auth/OAuth2.php в строке 87

1

Решение

Я знаю, что уже поздно, но ты не даешь code в authenticate метод.

Изменить это

$client->authenticate();

к этому

$client->authenticate( $_GET['code'] );
1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector