簡體   English   中英

一直詢問Google Calendar API授權

[英]Google Calendar API Authorization asked all the time

我的問題很簡單,我正在將Google Calendar API與php腳本一起使用。

我的腳本可以正常工作,但是我無法使用cron運行它,因為我需要一直對我的應用進行授權。

有什么辦法可以做我想要的嗎?

這是我的代碼:

<?php
require_once 'google/Google_Client.php';
require_once 'google/contrib/Google_CalendarService.php';
session_start();


$client = new Google_Client();
$client->setApplicationName("Google Calendar PHP Starter Application");
$client->setClientId([MY APP ID]);
$client->setClientSecret([MY SECRET TOKEN]);
$client->setRedirectUri([MY REDIRECT URI]);
$client->setDeveloperKey([MY DEV KEY]);
$cal = new Google_CalendarService($client);
if (isset($_GET['logout'])) {
  unset($_SESSION['token']);
}

/*
** Request token from API
*/
if (isset($_GET['code'])) {
  $client->authenticate($_GET['code']);
  $_SESSION['token'] = $client->getAccessToken();
  header('Location: http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF']);
}


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

if ($client->getAccessToken()) {


  // MY CODE GOES HERE


  } else {

  $authUrl = $client->createAuthUrl();
  print "<a class='login' href='$authUrl'>Connect Me!</a>";
}


?>

謝謝 !

不知道您是否對此問題有任何答案,但是我曾經遇到過同樣的問題。 Google Api返回Oauth訪問令牌。 該令牌無限期地存在,但是在您的代碼中,您將其存儲在$ _SESSION變量中,該變量具有一定的保留時間。 嘗試使用$token = $client->getAccessToken(); 為了將訪問令牌放入變量中,然后以其他某種形式存儲令牌,例如數據庫。 然后,當檢查$_SESSION['token']是否設置時,如果沒有設置,則可以查詢數據庫以檢索令牌,並使用$client->setAccessToken($queryResult); 只要您擁有該訪問令牌,該API就會處理其余部分。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM