OAuthHelper.php 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. <?php
  2. /*
  3. * Copyright 2011 Google Inc.
  4. *
  5. * Licensed under the Apache License, Version 2.0 (the "License");
  6. * you may not use this file except in compliance with the License.
  7. * You may obtain a copy of the License at
  8. *
  9. * http://www.apache.org/licenses/LICENSE-2.0
  10. *
  11. * Unless required by applicable law or agreed to in writing, software
  12. * distributed under the License is distributed on an "AS IS" BASIS,
  13. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  14. * See the License for the specific language governing permissions and
  15. * limitations under the License.
  16. */
  17. require_once dirname(__FILE__) . '/../src/Google/autoload.php';
  18. $client = new Google_Client();
  19. $client->setScopes(
  20. array(
  21. "https://www.googleapis.com/auth/plus.me",
  22. "https://www.googleapis.com/auth/urlshortener",
  23. "https://www.googleapis.com/auth/tasks",
  24. "https://www.googleapis.com/auth/adsense",
  25. "https://www.googleapis.com/auth/youtube"
  26. )
  27. );
  28. $client->setRedirectUri("urn:ietf:wg:oauth:2.0:oob");
  29. // Visit https://code.google.com/apis/console to
  30. // generate your oauth2_client_id, oauth2_client_secret, and to
  31. // register your oauth2_redirect_uri.
  32. $clientId = getenv('GCLOUD_CLIENT_ID') ? getenv('GCLOUD_CLIENT_ID') : null;
  33. $clientSecret = getenv('GCLOUD_CLIENT_SECRET') ? getenv('GCLOUD_CLIENT_SECRET') : null;
  34. if (!($clientId && $clientSecret)) {
  35. die("fetching a token requires GCLOUD_CLIENT_ID and GCLOUD_CLIENT_SECRET to be set\n");
  36. }
  37. $client->setClientId($clientId);
  38. $client->setClientSecret($clientSecret);
  39. $authUrl = $client->createAuthUrl();
  40. `open '$authUrl'`;
  41. echo "\nPlease enter the auth code:\n";
  42. $authCode = trim(fgets(STDIN));
  43. $accessToken = $client->authenticate($authCode);
  44. $file = dirname(__FILE__) . DIRECTORY_SEPARATOR . '.accessToken';
  45. file_put_contents($file, $accessToken);
  46. echo "successfully loaded access token\n";