如何使用OAuth协议连接到Google My Business API ?



我对在PHP中使用Google api很陌生,我目前正试图获得最近提交给企业的Google评论的列表。

起初,我使用Google Places API来完成这项工作,这很容易使用(不需要OAuth连接过程,一个简单的HTTP请求就足够了),但我知道这个方法只返回企业的最后5条评论,我需要得到所有评论的列表。

这就是为什么我认为如果我想获得一个企业的完整评论列表,我需要使用Google My Business API。但是已经有几天了,我试图让这个API工作,我仍然没有设法甚至使用OAuth协议将我的应用程序连接到API。

虽然我已经从一个预制的Github示例开始,但当我试图访问API时,我仍然得到这个错误消息:PHP错误消息,我目前正在获得

我不明白为什么,因为我确实做了文档中提到的所有事情。

如果有人能稍微看一下我的代码并帮助我知道它有什么问题,那将是巨大的帮助真的!如能提供任何信息,我将不胜感激。

下面是我的代码:
$credentials = get_stylesheet_directory() . '/allia-google-api/google-my-business-secrets.json';
$client = new GoogleClient();
$client->setAuthConfig($credentials);
$client->addScope("https://www.googleapis.com/auth/business.manage");
$redirect_uri = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'];
$client->setRedirectUri($redirect_uri);
$my_business_account = new Google_Service_MyBusinessAccountManagement($client);
$list_accounts_response = $my_business_account->accounts->listAccounts();
var_dump($list_accounts_response);

从错误中我可以看到你有认证错误,确保你的client_secrets应该是一个json文件是正确的。下面的代码列出了所有帐户,它使用名为帐户管理Api的新Api.Google My Business Api将很快被弃用。

<?php 
include_once __DIR__ . '/vendor/autoload.php';

$credentials = __DIR__ . '/client_secrets.json';
$client = new GoogleClient();
$client->setAuthConfig($credentials);
$client->addScope("https://www.googleapis.com/auth/business.manage");
$redirect_uri = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'];
$client->setRedirectUri($redirect_uri);
$my_business_account = new Google_Service_MyBusinessAccountManagement($client);
if (isset($_GET['logout'])) { // logout: destroy token
unset($_SESSION['token']);
die('Logged out.');
}
if (isset($_GET['code'])) { // get auth code, get the token and store it in session
$client->authenticate($_GET['code']);
$_SESSION['token'] = $client->getAccessToken();
}

if (isset($_SESSION['token'])) { // get token and configure client
$token = $_SESSION['token'];
$client->setAccessToken($token);
}
if (!$client->getAccessToken()) { // auth call 
$authUrl = $client->createAuthUrl();
header("Location: ".$authUrl);
die;
}
$list_accounts_response = $my_business_account->accounts->listAccounts();
Var_dump($list_accounts_response);
?>

点击此处[https://github.com/google/google-my-business-samples/tree/master/php]

相关内容

  • 没有找到相关文章

最新更新