gpt4 book ai didi

google-api-php-client - fatal error : Uncaught exception 'Google_Auth_Exception' with message 'Error refreshing the OAuth2 token, message: ' { "error" : "invalid_grant" }

转载 作者:行者123 更新时间:2023-12-01 10:46:23 26 4
gpt4 key购买 nike

我有一个预测应用程序,它基于最新的 Google-api-php 客户端版本 1.0.0。它在 localhost 环境中完美运行。但是当我将完全相同的应用程序部署到托管服务器环境中时,出现了以下问题。

这是我从托管环境中得到的错误

Fatal error: Uncaught exception 'Google_Auth_Exception' with message 'Error refreshing the OAuth2 token, message: '{ "error" : "invalid_grant" }'' in /home/predict/public_html/predict/Google/Auth/OAuth2.php:335 Stack trace: #0 /home/predict/public_html/predict/Google/Auth/OAuth2.php(294): Google_Auth_OAuth2->refreshTokenRequest(Array) #1 /home/predict/public_html/predict/index.php(40): Google_Auth_OAuth2->refreshTokenWithAssertion(Object(Google_Auth_AssertionCredentials)) #2 {main} thrown in /home/predict/public_html/predict/Google/Auth/OAuth2.php on line 335

*CURL 和 JSON 扩展在托管环境下正常工作。

这是我的全部源代码

<?php
session_start();

set_include_path("Google" . PATH_SEPARATOR . get_include_path());
require_once 'Client.php';
require_once 'Service/Prediction.php';

$client_id = 'XXXXXXXXXX-uin70k09g5g6f05vqvdj9ch541c4spns.apps.googleusercontent.com';
$service_account_name = 'XXXXXXXXXX-uin70k09g5g6f05vqvdj9ch541c4spns@developer.gserviceaccount.com';
$key_file_location = 'APPKEY-d333c55a111a.p12';

if ($client_id == 'XXXXXXXXXX-uin70k09g5g6f05vqvdj9ch541c4spns.googleusercontent.com'
|| !strlen($service_account_name)
|| !strlen($key_file_location)) {
}

$client = new Google_Client();

$client->setApplicationName("Predition App");
$service = new Google_Service_Prediction($client);

if (isset($_SESSION['service_token'])) {
$client->setAccessToken($_SESSION['service_token']);
}

$key = file_get_contents($key_file_location);
$cred = new Google_Auth_AssertionCredentials(
$service_account_name,`enter code here`
array('https://www.googleapis.com/auth/prediction'),
$key
);

$client->setAssertionCredentials($cred);

if($client->getAuth()->isAccessTokenExpired()) {
$client->getAuth()->refreshTokenWithAssertion($cred);
}

$_SESSION['service_token'] = $client->getAccessToken();

// Prediction logic:
$id = 'datamodel';
$project = "XXXXXXXXXX";

$input = $_REQUEST['input'];

//$predictionData = new Google_InputInput(); //Depricated method in Google_api_php_client_version1.0.0 // W.P.Roshan
$predictionData = new Google_Service_Prediction_InputInput();
$predictionData->setCsvInstance(array($input));

//$input = new Google_Input(); //Depricated method in Google_api_php_client_version1.0.0 // W.P.Roshan
$input = new Google_Service_Prediction_Input();
$input->setInput($predictionData);

$PredictionResult = $service->trainedmodels->predict($project,$id, $input,$optParams = array());
//print '<h3>Prediction Result:</h3><pre>' . print_r($result, true) . '</pre>';

$AccuracyMetaResult = $service->trainedmodels->get($project, $id, $optParams = array());
//print '<h3>Classification Accuracy Result:</h3><pre>' . print_r($result, true) . '</pre>';

$stdout = new stdClass();
$stdout->dataModel = $PredictionResult['id'];
$stdout->outputLabel = $PredictionResult['outputLabel'];
$stdout->negative = $PredictionResult['modelData']['outputMulti'][0]['score'];
$stdout->neutral = $PredictionResult['modelData']['outputMulti'][1]['score'];
$stdout->positive = $PredictionResult['modelData']['outputMulti'][2]['score'];
$stdout->modelCreated = $AccuracyMetaResult['created'];
$stdout->trainingCompleted = $AccuracyMetaResult['trainingComplete'];
$stdout->trainingStatus = $AccuracyMetaResult['trainingStatus'];
$stdout->modelType = $AccuracyMetaResult['modelData']['modelInfo']['modelType'];
$stdout->dataModelAccuracy = $AccuracyMetaResult['modelData']['modelInfo']['classificationAccuracy'];

echo json_encode($stdout);

if ($client->getAccessToken()) {
$_SESSION['token'] = $client->getAccessToken();
}

最佳答案

我刚刚花了几个小时尝试解决这个问题。结果我的服务器时间比谷歌的时间早了几分钟。

将我的服务器时间设置为正确的时间立即解决了这个问题。

希望这对某人有帮助:)

关于google-api-php-client - fatal error : Uncaught exception 'Google_Auth_Exception' with message 'Error refreshing the OAuth2 token, message: ' { "error" : "invalid_grant" },我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25376791/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com