我正在尝试使用“服务帐户”创建日历应用程序,并且我下载了最新版本的google-api-php-client
当我访问serviceAccount.php时,我收到以下错误:
致命错误:在第44行的/home/fmentert/public_html/reservations/google-api-php-client/examples/calendar/serviceAccount.php中调用未定义的方法apiClient :: setAssertionCredentials()
这是我的serviceAccount.php文件。我添加了客户端ID,服务帐户名和密钥文件。 也。我改变了const来定义() 我的php版本是5.2.17
define('CLIENT_ID', '896988357842.apps.googleusercontent.com');
define('SERVICE_ACCOUNT_NAME', '896988357842@developer.gserviceaccount.com');
// Make sure you keep your key.p12 file in a secure location, and isn't
// readable by others.
define('KEY_FILE', 'bqwe3287e42d1c2342349f4c9769asdas55-privatekey.p12');
$client = new apiClient();
$client->setApplicationName("Google Prediction Sample");
// Set your cached access token. Remember to replace $_SESSION with a
// real database or memcached.
session_start();
if (isset($_SESSION['token'])) {
$client->setAccessToken($_SESSION['token']);
}
// Load the key in PKCS 12 format (you need to download this from the
// Google API Console when the service account was created.
$key = file_get_contents(KEY_FILE);
$client->setAssertionCredentials(new apiAssertionCredentials( // THIS IS LINE 44
SERVICE_ACCOUNT_NAME,
array('https://www.googleapis.com/auth/prediction'),
$key)
); ....
有人知道什么是错的吗?
答案 0 :(得分:1)
问题出在las版本。你可以在那里得到解决方案: https://groups.google.com/forum/#!msg/google-api-php-client/vZysbW_XgiQ/-4kSFWP8UtEJ%5B1-25%5D
我使用475版修复它。有了它,这个例子很好。
萨吕!
答案 1 :(得分:0)
看起来您没有包含包含apiClient
类定义的文件。为此,请使用require_once
命令。
例如,如果在名为“apiClientFile.php”的文件中定义了apiClient
类,那么您的PHP脚本将如下所示:
require_once 'apiClientFile.php';
define('CLIENT_ID', '896988357842.apps.googleusercontent.com');
...