I am trying to replicate the Google Ads API Laravel Sample app and port it to a Laravel Jetstream application.
I keep getting the following error: Target class [GoogleAdsApiController] does not exist.
GoogleAdsApiController
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Google\Ads\GoogleAds\Lib\V15\GoogleAdsClient;
use Google\Ads\GoogleAds\Util\FieldMasks;
use Google\Ads\GoogleAds\Util\V15\ResourceNames;
use Google\Ads\GoogleAds\V15\Enums\CampaignStatusEnum\CampaignStatus;
use Google\Ads\GoogleAds\V15\Resources\Campaign;
use Google\Ads\GoogleAds\V15\Services\CampaignOperation;
use Google\Ads\GoogleAds\V15\Services\GoogleAdsRow;
use Illuminate\Pagination\LengthAwarePaginator;
use Illuminate\View\View;
class GoogleAdsApiController extends Controller
{
private const REPORT_TYPE_TO_DEFAULT_SELECTED_FIELDS = [
'campaign' => ['campaign.id', 'campaign.name', 'campaign.status'],
'customer' => ['customer.id']
];
private const RESULTS_LIMIT = 100;
...
Routes/Web.php
<?php
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\GoogleAdsApiController;
Route::middleware([
'auth:sanctum',
config('jetstream.auth_session'),
'verified',
])->group(function () {
Route::get('/dashboard', function () {
return view('dashboard');
})->name('dashboard');
});
Route::post(
'pause-campaign',
'GoogleAdsApiController@pauseCampaignAction'
);
Route::match(
['get', 'post'],
'show-report',
'GoogleAdsApiController@showReportAction'
);
Route::get('/', function () {
return view('welcome');
});
Route::get('/main', function () {
return view('main');
});
Any help is much appreciated
There are couple of ways to do this operation
Option 1:
If you've recently created the GoogleAdsApiController
or made changes to your project's directory structure, it's a good idea to run the composer dump-autoload
command to update the Composer autoloader
Option 2
You can use this code:
Route::post('/pause-campaign', [GoogleAdsApiController::class, 'pauseCampaignAction']);
Route::match(['get', 'post'], '/show-report', [GoogleAdsApiController::class, 'showReportAction']);
Still, if you are facing an issue then try this one
Route::post('/pause-campaign', [App\Http\Controllers\GoogleAdsApiController::class, 'pauseCampaignAction']);
Route::match(['get', 'post'], '/show-report', [App\Http\Controllers\GoogleAdsApiController::class, 'showReportAction']);