Google API PHP-клиент повторно используйте токен пользователя для вызова службы в качестве пользователя после входа в сиPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Google API PHP-клиент повторно используйте токен пользователя для вызова службы в качестве пользователя после входа в си

Сообщение Anonymous »

При входе в систему с Google и использованием PHP Google API PHP я обменяюсь кодом и получаю токен и пользователь. Я сохраняю токен и user_id для этого пользователя. < /P>

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

$client = new \Google_Client();

//this loads a file containing the keys
$client->setAuthConfig(realpath('google.json'));

//verify token and get user info from payload
$payload = $client->verifyIdToken($token);
if($payload){
//user is logged, $payload->sub is user_id
//both token and user_id are saved in user document for later use
}
< /code>
В другом сценарии, позже, я пытаюсь использовать службу в качестве моего регистрированного пользователя, повторно используя токен, который был получен в качестве входа в систему, выполняя < /p>
$client = new \Google_Client();

//this loads a file containing the keys
$client->setAuthConfig(realpath('google.json'));

//set the user token to the client
$client->setAccessToken($token);

//list accounts
$service = new \Google_Service_MyBusinessAccountManagement($client);
$accounts = $service->accounts->listAccounts()->getAccounts();
< /code>
Я получаю ошибку, которую мне нужно передать учетные данные < /p>
PHP Fatal error: Uncaught Google\Service\Exception: { "error": { "code": 401, "message": "Request is missing required authentication credential. Expected OAuth 2 access token, login cookie or other valid authentication credential. See https://developers.google.com/identity/sign-in/web/devconsole-project.", "errors": [ { "message": "Login Required.", "domain": "global", "reason": "required", "location": "Authorization", "locationType": "header" } ], "status": "UNAUTHENTICATED", "details": [ { "@type": "type.googleapis.com/google.rpc.ErrorInfo", "reason": "CREDENTIALS_MISSING", "domain": "googleapis.com", "metadata": { "service": "mybusinessaccountmanagement.googleapis.com", "method": "google.mybusiness.accountmanagement.v1.Accounts.ListAccounts" } } ] } }
< /code>
Как я могу повторно использовать токен пользователя, чтобы использовать его при использовании сервисов? Я думал, что $ client-> setaccesstoken ($ token); 
будет работать ...


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

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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