$client = new \Google_Client();
/*
$client->setAuthConfigFile(base_path('google.json'));
*/
$client->setClientId(getenv('GOOGLE_ID'));
$client->setClientSecret(getenv('GOOGLE_SECRET'));
$client->addScope("https://www.googleapis.com/auth/adwords");
$client->setRedirectUri('http://localhost/lidogen/public/service/google/oauth' /*request()->url()*/ );
$client->setIncludeGrantedScopes(true);
$client->setApprovalPrompt("force");
$client->setAccessType("offline");
if (!isset($_GET['code'])) {
$auth_url = $client->createAuthUrl();
header('Location: ' . filter_var($auth_url, FILTER_SANITIZE_URL));
exit;
}
if(isset($_GET['code'])) {
$client->authenticate($_GET['code']);
$access_token = $client->getAccessToken();
$oauth2Info = [
'client_id' => getenv('GOOGLE_ID'),
'client_secret' => getenv('GOOGLE_SECRET'),
'refresh_token' => $access_token,
];
$user = new \AdWordsUser();
$user->SetOAuth2Info($oauth2Info);
$campaignService = $user->GetService('CampaignService', 'v201603');
$selector = new \Selector();
$selector->fields = array('Id', 'Name');
$selector->ordering[] = new \OrderBy('Name', 'ASCENDING');
$selector->paging = new \Paging(0, \AdWordsConstants::RECOMMENDED_PAGE_SIZE);
$page = $campaignService->get($selector);
dd($page);
}