-
Notifications
You must be signed in to change notification settings - Fork 13
Expand file tree
/
Copy pathpocket.php
More file actions
48 lines (39 loc) · 1.57 KB
/
pocket.php
File metadata and controls
48 lines (39 loc) · 1.57 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
<?php
/**
* Example of retrieving an authentication token of the Pocket service.
*
* @author And <and.webdev@gmail.com>
* @author Christian Mayer <thefox21at@gmail.com>
* @copyright Copyright (c) 2014 Christian Mayer <thefox21at@gmail.com>
* @license http://www.opensource.org/licenses/mit-license.html MIT License
*/
use OAuth\Common\Consumer\Credentials;
use OAuth\Common\Http\Url;
use OAuth\Common\Storage\Session;
/**
* Bootstrap the example
*/
require_once __DIR__ . '/bootstrap.php';
// Session storage
$storage = new Session();
/** @var Url $currentUri */
// Setup the credentials for the requests
$credentials = new Credentials(
$servicesCredentials[ 'pocket' ][ 'key' ],
null, // Pocket API doesn't have a secret key. :S
$currentUri->getBaseUrl() . '/' . $currentUri->getPath() . '?step=3'
);
// Instantiate the Pocket service using the credentials, http client and storage mechanism for the token
$pocketService = $serviceFactory->createService('Pocket', $credentials, $storage);
if ($pocketService->isGlobalRequestArgumentsPassed()) {
// Retrieve a token
/** @var \OAuth\Common\Token\TokenInterface $token */
$token = $pocketService->retrieveAccessTokenByGlobReqArgs()->getAccessToken();
// Show some of the resultant data
print 'User: ' . $token->getExtraParams()[ 'username' ] . '<br />';
print 'Access Token: ' . $token->getAccessToken();
} elseif (!empty($_GET[ 'go' ]) && $_GET[ 'go' ] === 'go') {
$pocketService->redirectToAuthorizationUri();
} else {
echo "<a href='$currentUri?go=go'>Login with Pocket!</a>";
}