当前位置: 首页>>代码示例>>PHP>>正文


PHP Google_Client::getRefreshToken方法代码示例

本文整理汇总了PHP中Google_Client::getRefreshToken方法的典型用法代码示例。如果您正苦于以下问题:PHP Google_Client::getRefreshToken方法的具体用法?PHP Google_Client::getRefreshToken怎么用?PHP Google_Client::getRefreshToken使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Google_Client的用法示例。


在下文中一共展示了Google_Client::getRefreshToken方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: getGoogleApiClient

 /**
  * Returns an authorized API client.
  * @return Google_Client the authorized client object
  */
 private function getGoogleApiClient()
 {
     $client = new Google_Client();
     $client->setApplicationName($this->CFG['GOOGLE_API_APPLICATION_NAME']);
     $client->setScopes(Google_Service_Calendar::CALENDAR);
     $client->setAuthConfigFile($this->CFG['GOOGLE_API_CLIENT_SECRET_PATH']);
     $client->setAccessType('offline');
     // Load previously authorized credentials from a file.
     $credentialsPath = $this->CFG['GOOGLE_API_CREDENTIALS_PATH'];
     if (file_exists($credentialsPath)) {
         $accessToken = file_get_contents($credentialsPath);
     } else {
         // Request authorization from the user.
         $authUrl = $client->createAuthUrl();
         printf("Open the following link in your browser:\n%s\n", $authUrl);
         print 'Enter verification code: ';
         $authCode = trim(fgets(STDIN));
         // Exchange authorization code for an access token.
         $accessToken = $client->authenticate($authCode);
         // Store the credentials to disk.
         if (!file_exists(dirname($credentialsPath))) {
             mkdir(dirname($credentialsPath), 0700, true);
         }
         file_put_contents($credentialsPath, $accessToken);
         printf("Credentials saved to %s\n", $credentialsPath);
     }
     $client->setAccessToken($accessToken);
     // Refresh the token if it's expired.
     if ($client->isAccessTokenExpired()) {
         $client->refreshToken($client->getRefreshToken());
         file_put_contents($credentialsPath, $client->getAccessToken());
     }
     return $client;
 }
开发者ID:neocodesoftware,项目名称:NeoCode-FmUsage,代码行数:38,代码来源:class.GoogleApi.php

示例2: oauth2callback

 public function oauth2callback()
 {
     $this->tpl_name = "";
     require_once '../tf_app/ext/google/autoload.php';
     session_start();
     // ********************************************************  //
     // Get these values from https://console.developers.google.com
     // Be sure to enable the Analytics API
     // ********************************************************    //
     $client_id = '334086275725-f15a3bl6bm7kbhfkm66u9va1si5bb9ia.apps.googleusercontent.com';
     $client_secret = 'FbKWozz_ZNmlk5PUEXPC2BUO';
     $redirect_uri = 'http://localhost.me:8006/ajax_v3/oauth2callback';
     $client = new Google_Client();
     $client->setApplicationName("test-calendar");
     $client->setClientId($client_id);
     $client->setClientSecret($client_secret);
     $client->setRedirectUri($redirect_uri);
     $client->setAccessType('offline');
     // Gets us our refreshtoken
     $client->setScopes(array('https://www.googleapis.com/auth/calendar'));
     //For loging out.
     if (isset($_GET['logout'])) {
         unset($_SESSION['token']);
     }
     // Step 2: The user accepted your access now you need to exchange it.
     if (isset($_GET['code'])) {
         $client->authenticate($_GET['code']);
         $_SESSION['token'] = $client->getAccessToken();
         $redirect = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'];
         header('Location: ' . filter_var($redirect, FILTER_SANITIZE_URL));
     }
     // $_SESSION["token"]["access_token"] = "ya29.xAFLnfAz9X-h7LWyUF6258cMbOzcUljurQPw0UMPdnpP15fiz5SWY0yJXvKvfaupQuYCPA";
     // Step 1:  The user has not authenticated we give them a link to login
     if (!isset($_SESSION['token'])) {
         $authUrl = $client->createAuthUrl();
         print "<a class='login' href='{$authUrl}'>Connect Me!</a>";
     }
     // Step 3: We have access we can now create our service
     if (isset($_SESSION['token'])) {
         // $client->refreshToken($refreshToken);
         $client->setAccessToken($_SESSION['token']);
         $refresh_token = $client->getRefreshToken();
         $_SESSION['refresh_token'] = $refresh_token;
         $token = json_decode($_SESSION['token']);
         // echo "Access Token = " . $token->access_token . '<br/>';
         // echo "Refresh Token = " . $token->refresh_token . '<br/>';
         // echo "Token type = " . $token->token_type . '<br/>';
         // echo "Expires in = " . $token->expires_in . '<br/>';
         // echo "ID Token = " . $token->id_token . '<br/>';
         // echo "Created = " . $token->created . '<br/>';
         print "<a class='logout' href='http://localhost.me:8006/ajax_v3/oauth2callback?logout=1'>LogOut</a><br>";
         // print_r($_SESSION);
         $service = new Google_Service_Calendar($client);
         $calendarList = $service->calendarList->listCalendarList();
         while (true) {
             foreach ($calendarList->getItems() as $calendarListEntry) {
                 echo $calendarListEntry->getSummary() . "<br>\n";
                 // get events
                 $events = $service->events->listEvents($calendarListEntry->id);
                 foreach ($events->getItems() as $event) {
                     echo "-----" . $event->getSummary() . "<br>";
                 }
             }
             $pageToken = $calendarList->getNextPageToken();
             if ($pageToken) {
                 $optParams = array('pageToken' => $pageToken);
                 $calendarList = $service->calendarList->listCalendarList($optParams);
             } else {
                 break;
             }
         }
         // reservation
         if ($_REQUEST["type"] == "r") {
             $rsv = $this->Space_reserve->list_(1, 1000, 'sr.state = 1 and sr.date > "' . date('Y.m.d', strtotime('-1 month')) . '"');
             $len_rsv = sizeof($rsv);
             for ($r = 0; $r < $len_rsv; $r++) {
                 $rsv[$r]["s"] = substr_replace(date("Y-m-dH:i:00", strtotime(str_replace(".", "-", $rsv[$r]["date"]) . $rsv[$r]["start"])), 'T', 10, 0);
                 $rsv[$r]["e"] = substr_replace(date("Y-m-dH:i:00", strtotime(str_replace(".", "-", $rsv[$r]["date"]) . $rsv[$r]["end"])), 'T', 10, 0);
                 $rsv[$r]["summary"] = "[" . $rsv[$r]["opt"] . "F " . explode_ext($rsv[$r]["name"], '(') . "] " . $rsv[$r]["purpose"];
                 $rsv[$r]["location"] = $rsv[$r]["opt"] . "F " . explode_ext($rsv[$r]["name"], '(');
             }
             $_calId = '6er2bdtm0ojetsnn09uj6plbq8@group.calendar.google.com';
             $fo = $rsv;
         }
         // event
         if ($_REQUEST["type"] == "e") {
             $ev = $this->Event->list_(1, 10000, 'e.state = 1 and open = 1 and (e.date > "' . date('Y.m.d', strtotime('-1 month')) . '" or e.date_e > "' . date('Y.m.d', strtotime('-1 month')) . '")');
             $len_ev = sizeof($ev);
             for ($r = 0; $r < $len_ev; $r++) {
                 $ev[$r]["s"] = substr_replace(date("Y-m-dH:i:00", strtotime(str_replace(".", "-", $ev[$r]["date"]) . $ev[$r]["start"])), 'T', 10, 0);
                 $ev[$r]["e"] = substr_replace(date("Y-m-dH:i:00", strtotime(str_replace(".", "-", $ev[$r]["date_e"]) . $ev[$r]["end"])), 'T', 10, 0);
                 $ev[$r]["summary"] = "[Event] " . $ev[$r]["title"];
                 if ($ev[$r]["space_id"] == 0) {
                     $ev[$r]["location"] = $ev[$r]["space_etc"];
                 } else {
                     $ev[$r]["location"] = "D.CAMP " . $ev[$r]["opt"] . "F " . explode_ext($ev[$r]["sname"], '(');
                 }
             }
             $_calId = '3h37pgh9qvtvd9r7jun88elhfk@group.calendar.google.com';
             $fo = $ev;
//.........这里部分代码省略.........
开发者ID:byyeong,项目名称:dc2016,代码行数:101,代码来源:ajax_v3_new.php

示例3: refreshToken

 public function refreshToken($accessToken)
 {
     $this->_googleClient->setAccessToken($accessToken);
     // Refresh the token if it's expired.
     if ($this->_googleClient->isAccessTokenExpired()) {
         $this->_googleClient->refreshToken($this->_googleClient->getRefreshToken());
     }
     return $this->_googleClient->getAccessToken();
 }
开发者ID:nissnac,项目名称:GettingStarted-Cloud,代码行数:9,代码来源:GoogleServices.php

示例4: isLoggedIn

 /**
  * @return string
  */
 public function isLoggedIn()
 {
     if (\Session::has('token')) {
         $this->client->setAccessToken(\Session::get('token'));
     } else {
         return false;
     }
     if ($this->client->isAccessTokenExpired()) {
         \Session::set('token', $this->client->getRefreshToken());
     }
     return !$this->client->isAccessTokenExpired();
 }
开发者ID:janusnic,项目名称:YoutubeAPI_Demo,代码行数:15,代码来源:GoogleLogin.php

示例5: cmdLineAuth

 /**
  * Auth over command line
  */
 public function cmdLineAuth()
 {
     $authUrl = $this->client->createAuthUrl();
     //Request authorization
     print "Please visit:\n{$authUrl}\n\n";
     print "Please enter the auth code:\n";
     $authCode = trim(fgets(STDIN));
     // Exchange authorization code for access token
     $accessToken = $this->client->authenticate($authCode);
     $this->client->setAccessToken($accessToken);
     $this->accessToken = $accessToken;
     $this->refreshToken = $this->client->getRefreshToken();
 }
开发者ID:p13eater,项目名称:google-helper,代码行数:16,代码来源:GoogleHelper.php

示例6: refreshAuthToken

 private function refreshAuthToken(\Google_Client $client)
 {
     if ($client->isAccessTokenExpired()) {
         $client->refreshToken($client->getRefreshToken());
         file_put_contents(CREDENTIALS_FILE, $client->getAccessToken());
     }
 }
开发者ID:embracingelement,项目名称:bahai-community-site,代码行数:7,代码来源:CalendarClient.php

示例7: getClient

function getClient()
{
    $client = new Google_Client();
    $client->setApplicationName(APPLICATION_NAME);
    $client->setScopes(SCOPES);
    $client->setAuthConfigFile(CLIENT_SECRET);
    $client->setAccessType('offline');
    // Load previously authorized credentials from a file.
    $credentialsPath = expandHomeDirectory(CREDENTIAL_PATH);
    if (file_exists($credentialsPath)) {
        $accessToken = file_get_contents($credentialsPath);
    } else {
        // Request authorization from the user.
        $authUrl = $client->createAuthUrl();
        printf("Open the following link in your browser:\n\n\t%s\n\n", $authUrl);
        print 'Enter verification code: ';
        $authCode = trim(fgets(STDIN));
        // Exchange authorization code for an access token.
        $accessToken = $client->authenticate($authCode);
        // Store the credentials to disk.
        if (!file_exists(dirname($credentialsPath))) {
            mkdir(dirname($credentialsPath), 0700, true);
        }
        file_put_contents($credentialsPath, $accessToken);
        printf("Credentials saved to %s\n", $credentialsPath);
    }
    $client->setAccessToken($accessToken);
    // Refresh the token if it's expired.
    if ($client->isAccessTokenExpired()) {
        $client->refreshToken($client->getRefreshToken());
        file_put_contents($credentialsPath, $client->getAccessToken());
    }
    return $client;
}
开发者ID:cmunky,项目名称:gcontact,代码行数:34,代码来源:gascapi.php

示例8: getClient

function getClient()
{
    $client = new Google_Client();
    $client->setApplicationName(APPLICATION_NAME);
    $client->setScopes(SCOPES);
    $client->setAuthConfigFile(CLIENT_SECRET_PATH);
    $client->setAccessType('offline');
    $credentialsPath = CREDENTIALS_PATH;
    if (file_exists($credentialsPath)) {
        $accessToken = file_get_contents($credentialsPath);
    } else {
        $authUrl = $client->createAuthUrl();
        printf("Open the following link in your browser:\n%s\n", $authUrl);
        print 'Enter verification code: ';
        $authCode = trim(fgets(STDIN));
        $accessToken = $client->authenticate($authCode);
        if (!file_exists(dirname($credentialsPath))) {
            mkdir(dirname($credentialsPath), 0700, true);
        }
        file_put_contents($credentialsPath, $accessToken);
        printf("Credentials saved to %s\n", $credentialsPath);
    }
    $client->setAccessToken($accessToken);
    if ($client->isAccessTokenExpired()) {
        $client->refreshToken($client->getRefreshToken());
        file_put_contents($credentialsPath, $client->getAccessToken());
    }
    return $client;
}
开发者ID:atsanna,项目名称:PHP-Custom-Floorplan-for-Domoticz,代码行数:29,代码来源:gcal.php

示例9: loadByStaff

 /**
  * Load Google and Calendar Service data by Staff
  *
  * @param AB_Staff $staff
  * @return bool
  */
 public function loadByStaff(AB_Staff $staff)
 {
     $this->staff = $staff;
     if ($staff->get('google_data')) {
         try {
             $this->client->setAccessToken($staff->get('google_data'));
             if ($this->client->isAccessTokenExpired()) {
                 $this->client->refreshToken($this->client->getRefreshToken());
                 $staff->set('google_data', $this->client->getAccessToken());
                 $staff->save();
             }
             $this->service = new Google_Service_Calendar($this->client);
             return true;
         } catch (Exception $e) {
             $this->errors[] = $e->getMessage();
         }
     }
     return false;
 }
开发者ID:patrickcurl,项目名称:monks,代码行数:25,代码来源:AB_Google.php

示例10: fetchAction

 public function fetchAction()
 {
     $em = $this->getDoctrine()->getEntityManager();
     // TODO move to a cron job
     // TODO move google credentials to symfony parameters file
     $configDirectories = array(__DIR__ . '/../Resources/config');
     $locator = new FileLocator($configDirectories);
     $clientSecret = $locator->locate('client_secret.json');
     $credentialsPath = $locator->locate('calendar-api-quickstart.json');
     // Get the API client and construct the service object.
     $client = new \Google_Client();
     $client->setApplicationName('Google Calendar API Quickstart');
     $client->setScopes(implode(' ', array(\Google_Service_Calendar::CALENDAR_READONLY)));
     $client->setAuthConfigFile($clientSecret);
     $client->setAccessType('offline');
     // Load previously authorized credentials from a file.
     if (file_exists($credentialsPath)) {
         $accessToken = file_get_contents($credentialsPath);
     } else {
         //TODO this should be accomplished with an error status
         return $this->render('TechlancasterWebBundle:Default:calendar.html.twig', array('message' => 'Invalid Credentials'));
     }
     $client->setAccessToken($accessToken);
     // Refresh the token if it's expired.
     if ($client->isAccessTokenExpired()) {
         $client->refreshToken($client->getRefreshToken());
         file_put_contents($credentialsPath, $client->getAccessToken());
     }
     $service = new \Google_Service_Calendar($client);
     $calendarId = '6l7e832ee9bemt1i9c42vltrug@group.calendar.google.com';
     $optParams = array('maxResults' => 29, 'orderBy' => 'startTime', 'singleEvents' => true, 'timeMin' => date('c'));
     $results = $service->events->listEvents($calendarId, $optParams);
     $events = array();
     $connection = $em->getConnection();
     $platform = $connection->getDatabasePlatform();
     $connection->executeUpdate($platform->getTruncateTableSQL('event', false));
     /**
      * @var $googleEvent Google_Service_Calendar_Event
      */
     foreach ($results->getItems() as $googleEvent) {
         $event = new Event();
         $event->setId($googleEvent->getId());
         $event->setDescription($googleEvent->getDescription());
         $event->setLocation($googleEvent->getLocation());
         $event->setStart(new \DateTime($googleEvent->getStart()->dateTime));
         $event->setEnd(new \DateTime($googleEvent->getEnd()->dateTime));
         $event->setSummary($googleEvent->getSummary());
         $em->persist($event);
         $events[] = $event;
     }
     $em->flush();
     return $this->render('TechlancasterWebBundle:Default:calendar.html.twig', array('message' => json_encode($events)));
 }
开发者ID:amayer5125,项目名称:tl-website,代码行数:53,代码来源:DefaultController.php

示例11: authenticate

 /**
  * @param null $code
  * @param User $user
  * @return bool
  */
 public function authenticate($code = null, User $user)
 {
     try {
         $this->client->authenticate($code);
     } catch (\Exception $e) {
         return false;
     }
     $session = new Session();
     $session->set('access_token', $this->getAccessToken());
     $refreshToken = $this->client->getRefreshToken();
     $user->setGoogleRefreshToken($refreshToken);
     $this->em->flush();
     return true;
 }
开发者ID:GregHubs,项目名称:GestionRessources,代码行数:19,代码来源:GoogleServiceManager.php

示例12: __construct

 /**
  * Returns an authorized API client.
  * @return \Google_Client the authorized client object
  */
 public function __construct()
 {
     $client = new \Google_Client();
     $client->setApplicationName(APPLICATION_NAME);
     $client->setScopes(SCOPES);
     $client->setAuthConfigFile(CLIENT_SECRET_PATH);
     $client->setAccessType('offline');
     if (!file_exists(CREDENTIALS_PATH)) {
         throw new \Exception('No credentials set');
     }
     $accessToken = file_get_contents(CREDENTIALS_PATH);
     $client->setAccessToken($accessToken);
     if ($client->isAccessTokenExpired()) {
         $client->refreshToken($client->getRefreshToken());
         file_put_contents(CREDENTIALS_PATH, $client->getAccessToken());
     }
     $this->client = $client;
     $this->service = new \Google_Service_Calendar($client);
 }
开发者ID:ulff,项目名称:quick-booking,代码行数:23,代码来源:CalendarIntergration.php

示例13: setAuthorization

 public function setAuthorization()
 {
     $client = new \Google_Client();
     $client->setAccessType('offline');
     $client->setApplicationName(GoogleShopping::getConfigValue('application_name'));
     $client->setClientId(GoogleShopping::getConfigValue('client_id'));
     $client->setClientSecret(GoogleShopping::getConfigValue('client_secret'));
     $client->setRedirectUri(URL::getInstance()->absoluteUrl('/googleshopping/oauth2callback'));
     $client->setScopes('https://www.googleapis.com/auth/content');
     $oAuthToken = GoogleShopping::getConfigValue('oauth_access_token');
     $code = $this->getRequest()->query->get('code');
     $redirection = '/admin/module/GoogleShopping';
     //Manage redirection after auth
     if ($url = $this->getRequest()->query->get('redirect')) {
         $redirection = $url;
         $this->getSession()->set('google_action_url', $redirection);
     }
     if (isset($oAuthToken)) {
         $client->setAccessToken($oAuthToken);
         if ($client->isAccessTokenExpired()) {
             $client->refreshToken(GoogleShopping::getConfigValue('oauth_refresh_token'));
             $newToken = $client->getAccessToken();
             GoogleShopping::setConfigValue('oauth_access_token', $newToken);
         }
         return $this->generateRedirect($redirection);
     } elseif (isset($code)) {
         $client->authenticate($code);
         $token = $client->getAccessToken();
         $refreshToken = $client->getRefreshToken();
         GoogleShopping::setConfigValue('oauth_access_token', $token);
         if ($refreshToken) {
             GoogleShopping::setConfigValue('oauth_refresh_token', $refreshToken);
         }
         return $this->generateRedirect($redirection);
     } else {
         return $this->generateRedirect($client->createAuthUrl());
     }
 }
开发者ID:Mertiozys,项目名称:GoogleShopping,代码行数:38,代码来源:BaseGoogleShoppingController.php

示例14: getClient

 /**
  * Returns an authorized API client.
  * @return Google_Client the authorized client object
  */
 function getClient()
 {
     $client = new Google_Client();
     $client->setApplicationName(APPLICATION_NAME);
     $client->setScopes(SCOPES);
     $client->setAuthConfigFile(CLIENT_SECRET_PATH);
     $client->setAccessType('offline');
     // Load previously authorized credentials from a file.
     $credentialsPath = $this->expandHomeDirectory(CREDENTIALS_PATH);
     //$credentialsPath = '/root/.credentials/calendar-php-quickstart.json';
     var_dump(CREDENTIALS_PATH);
     var_dump($credentialsPath);
     if (file_exists($credentialsPath)) {
         $accessToken = file_get_contents($credentialsPath);
     } else {
         // Request authorization from the user.
         $authUrl = $client->createAuthUrl();
         printf("Open the following link in your browser:\n%s\n", $authUrl);
         print 'Enter verification code: ';
         //$authCode = '4/baev8vvxfmBSuzvgTG0YGgXf2PsPviyxu2lUnqRN1Es';
         $authCode = '4/4FWQ2Ib5_5iTnlwep_Zr_xlbm9UAkh3R6lSI8s-uQAc';
         // Exchange authorization code for an access token.
         $accessToken = $client->authenticate($authCode);
         // Store the credentials to disk.
         if (!file_exists(dirname($credentialsPath))) {
             mkdir(dirname($credentialsPath), 0700, true);
         }
         file_put_contents($credentialsPath, $accessToken);
         printf("Credentials saved to %s\n", $credentialsPath);
     }
     $client->setAccessToken($accessToken);
     // Refresh the token if it's expired.
     if ($client->isAccessTokenExpired()) {
         $client->refreshToken($client->getRefreshToken());
         file_put_contents($credentialsPath, $client->getAccessToken());
     }
     return $client;
 }
开发者ID:sdsd08013,项目名称:doorkeeper,代码行数:42,代码来源:QuickStart.php

示例15: generateClient

function generateClient($expectedAccessToken)
{
    global $path;
    # Get OAuth2 information
    $oauthFile = fopen($path . "oauthinfo.json", "r");
    $rawJson = fread($oauthFile, filesize($path . "oauthinfo.json"));
    $decodedJson = json_decode($rawJson, true)['web'];
    # Decode information
    $clientID = $decodedJson['client_id'];
    # pull from json sheet
    $clientSecret = $decodedJson['client_secret'];
    # also pull from json sheet
    $redirectUri = 'http://localhost/admin.php';
    # change this every time we install application, this uri MUST be registed in the google decelopers console
    $client = new Google_Client();
    $client->setClientId($clientID);
    $client->setClientSecret($clientSecret);
    $client->setRedirectUri($redirectUri);
    $client->setScopes(array('https://spreadsheets.google.com/feeds'));
    $client->setAccessType("offline");
    if (filesize($path . "accessToken.json") != 0) {
        # If accessToken.json has information
        $credFile = fopen($path . "accessToken.json", "r");
        $accessArray = fread($credFile, filesize($path . "accessToken.json"));
        $client->setAccessToken($accessArray);
        $client->refreshToken($client->getRefreshToken());
        $credFile = fopen($path . "accessToken.json", "w");
        fwrite($credFile, $client->getAccessToken());
        return $client;
    } else {
        if ($expectedAccessToken) {
            print "Site has been invalidly configured, please contact your webmaster";
            exit;
        } else {
            return $client;
        }
    }
}
开发者ID:starboysa,项目名称:stmarks_registration_application,代码行数:38,代码来源:GoogleAuthenticationHandler.php


注:本文中的Google_Client::getRefreshToken方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。