happyr/google-api-bundle
最新稳定版本:2.3.0
Composer 安装命令:
composer require happyr/google-api-bundle
包简介
A Symfony2 Wrapper for the Google APIs Client Library for PHP
关键字:
README 文档
README
A symfony2 bundle to communicate to Google API. This bundle is a Symfony2 wrapper for the google apiclient. There are some services not yet implemented. Please submit a PR and I'm happy to merge.
Installation
Step 1: Using Composer
Install it with Composer!
// composer.json { // ... require: { // ... "happyr/google-api-bundle": "~2.1", } }
Then, you can install the new dependencies by running Composer's update
command from the directory where your composer.json file is located:
$ php composer.phar update
Step 2: Register the bundle
To register the bundles with your kernel:
<?php // in AppKernel::registerBundles() $bundles = array( // ... new HappyR\Google\ApiBundle\HappyRGoogleApiBundle(), // ... );
Step 3: Configure the bundle
# app/config/config.yml # you will get these parameters form https://code.google.com/apis/console/" happy_r_google_api: application_name: MySite oauth2_client_id: oauth2_client_secret: oauth2_redirect_uri: developer_key: site_name: mysite.com
Basic Usage
Step 1: Create a controller
Create a controller with authenticate and redirect methods.
<?php namespace AppBundle\Controller; use Symfony\Bundle\FrameworkBundle\Controller\Controller; use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; use Symfony\Component\HttpFoundation\Request; class GoogleOAuthController extends Controller { /** * @Route("/oauth/google/auth") */ public function getAuthenticationCodeAction() { } /** * @Route("/oauth/google/redirect") */ public function getAccessCodeRedirectAction(Request $request) { } }
Step 2: Get the access code
Setup the required scope of your app and redirect the user to complete their part of the OAuth request.
// ... private $accessScope = [ \Google_Service_Calendar::CALENDAR ]; /** * @Route("/oauth/google/auth") */ public function getAuthenticationCodeAction() { $client = $this->container->get('happyr.google.api.client'); // Determine the level of access your application needs $client->getGoogleClient()->setScopes($this->accessScope); // Send the user to complete their part of the OAuth return $this->redirect($client->createAuthUrl()); } // ...
Step 3: Handle the redirect
Determine if an access code has been returned. If there is an access code then exchange this for an access token by using the client authenticate method.
// ... private $accessScope = [ \Google_Service_Calendar::CALENDAR ]; // ... /** * @Route("/oauth/google/redirect") */ public function getAccessCodeRedirectAction(Request $request) { if($request->query->get('code')) { $code = $request->query->get('code'); $client = $this->container->get('happyr.google.api.client'); $client->getGoogleClient()->setScopes($this->accessScope); $client->authenticate($code); $accessToken = $client->getGoogleClient()->getAccessToken(); // TODO - Store the token, etc... } else { $error = $request->query->get('error'); // TODO - Handle the error } } // ...
If successful the response should include access_token, expires_in, token_type, and created.
统计信息
- 总下载量: 192.7k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 48
- 点击次数: 1
- 依赖项目数: 3
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2013-07-04