gelöst Probleme mit Google Modul bei Finden Merchant Center und/oder Ads

Thema wurde von Orange Raven, 15. November 2022 erstellt.

  1. Orange Raven

    Orange Raven Erfahrener Benutzer

    Registriert seit:
    3. April 2013
    Beiträge:
    359
    Danke erhalten:
    139
    Danke vergeben:
    50
    Jetzt mit dem richtigen Account und im richtigen Bereich. :D

    Hatte auch schon eine Mail geschrieben, würde es daher noch nicht unter Bugs reinpacken.

    Ich habe mehrere Kunden, bei denen das Google Modul nicht korrekt funktioniert, was die Verknüpfungen angeht.

    Die verbinden ihren Account und dann sollte ja eigentlich sowohl der Ads Account, als auch das Merchant Center sichtbar sein.

    Bei denen ist es aber so, dass sich das Suchsymbol im Merchant Center totlädt und beim Ads Account einfach kein Dropdown möglich ist:
    upload_2022-11-15_11-19-27.png

    Teilweise Kunden auf dem gleichen Server. Erste Idee ging zu allow_url_fopen, das macht aber keinen Unterschied.

    Konnte bisher noch nicht rausfinden, was die, wo es nicht funktioniert miteinander gemeinsam haben. Teilweise gleicher Server.

    Rausgerechnet sind schon die, wo die Zugangsdaten oder Kontenzuordnungen zum Google Konto nicht korrekt waren.
     
  2. Orange Raven

    Orange Raven Erfahrener Benutzer

    Registriert seit:
    3. April 2013
    Beiträge:
    359
    Danke erhalten:
    139
    Danke vergeben:
    50
    Zumindest bei einem konnte ich auch mal eine Fehlermeldung finden:

    CRITICAL: Server error: `GET https://googleservices.gambio.com/rc/index.php/api/v1/auth/refresh_access_token` resulted in a `500 Internal Server Error` response: Something went wrong!

    Class: GuzzleHttp\Exception\ServerExceptio

    message: Server error: `GET https://googleservices.gambio.com/rc/index.php/api/v1/auth/refresh_access_token` resulted in a `500 Internal Server Error` response:
    Something went wrong!

    Request URI:
    /admin/admin.php?do=GoogleOAuthAjax/getAccessToken&page_token=&_=1668509917341


    /usr/www/users/***/***-***-de/vendor/guzzlehttp/guzzle/src/Middleware.php:65
    │ return $response;
    │ }
    ├─ throw RequestException::create($request, $response);
    │ }
    │ );
    1:
    /usr/www/users/***/***-***-de/vendor/guzzlehttp/promises/src/Promise.php:204
    │ $f = $handler[$index];
    │ unset($handler);
    ├─ $promise->resolve($f($value));
    │ } elseif ($index === 1) {
    │ // Forward resolution values as-is.
    2:
    /usr/www/users/***/***-***-de/vendor/guzzlehttp/promises/src/Promise.php:153
    │ Utils::queue()->add(static function () use ($id, $value, $handlers) {
    │ foreach ($handlers as $handler) {
    ├─ self::callHandler($id, $value, $handler);
    │ }
    │ });
    3:
    /usr/www/users/***/***-***-de/vendor/guzzlehttp/promises/src/TaskQueue.php:48
    │ while ($task = array_shift($this->queue)) {
    │ /** @var callable $task */
    ├─ $task();
    │ }
    │ }
    4:
    /usr/www/users/***/***-***-de/vendor/guzzlehttp/promises/src/Promise.php:248
    │ $wfn = $this->waitFn;
    │ $this->waitFn = null;
    ├─ $wfn(true);
    │ } catch (\Exception $reason) {
    │ if ($this->state === self::pENDING) {
    5:
    /usr/www/users/***/***-***-de/vendor/guzzlehttp/promises/src/Promise.php:224
    │ return;
    │ } elseif ($this->waitFn) {
    ├─ $this->invokeWaitFn();
    │ } elseif ($this->waitList) {
    │ $this->invokeWaitList();
    6:
    /usr/www/users/***/***-***-de/vendor/guzzlehttp/promises/src/Promise.php:269
    │ foreach ($waitList as $result) {
    │ do {
    ├─ $result->waitIfPending();
    │ $result = $result->result;
    │ } while ($result instanceof Promise);
    7:
    /usr/www/users/***/***-***-de/vendor/guzzlehttp/promises/src/Promise.php:226
    │ $this->invokeWaitFn();
    │ } elseif ($this->waitList) {
    ├─ $this->invokeWaitList();
    │ } else {
    │ // If there's no wait function, then reject the promise.
    8:
    /usr/www/users/***/***-***-de/vendor/guzzlehttp/promises/src/Promise.php:62
    │ public function wait($unwrap = true)
    │ {
    ├─ $this->waitIfPending();

    │ if ($this->result instanceof PromiseInterface) {
    9:
    /usr/www/users/***/***-***-de/vendor/guzzlehttp/guzzle/src/Client.php:182
    │ {
    │ $options[RequestOptions::SYNCHRONOUS] = true;
    ├─ return $this->requestAsync($method, $uri, $options)->wait();
    │ }

    10:
    /usr/www/users/***/***-***-de/vendor/guzzlehttp/guzzle/src/Client.php:95
    │ return substr($method, -5) === 'Async'
    │ ? $this->requestAsync(substr($method, 0, -5), $uri, $opts)
    ├─ : $this->request($method, $uri, $opts);
    │ }

    11:
    /usr/www/users/***/***-***-de/GXModules/Gambio/Google/Common/Admin/Classes/GoogleServicesApiClient.inc.php:97
    │ $endpoint = $apiUrl . '/' . $endpoint;

    ├─ return $this->httpClient->get($endpoint, $this->_getRequestOptions($options));
    │ }

    12:
    /usr/www/users/***/***-***-de/GXModules/Gambio/Google/Common/Admin/Classes/GoogleOAuthService.inc.php:74

    │ if ($expirationTimestamp <= time()) {
    ├─ $response = $this->apiClient->call('auth/refresh_access_token');
    │ $tokenInfo = json_decode($response->getBody()->getContents(), true);

    13:
    /usr/www/users/***/***-***-de/GXModules/Gambio/Google/Common/Admin/Classes/Controllers/GoogleOAuthAjaxController.inc.php:31
    │ JsonHttpControllerResponse::class,
    │ [
    ├─ 'accessToken' => GoogleOAuthService::create($configurationStorage)->getAccessToken(),
    │ 'appUrl' => $configurationStorage->get('app-url', GoogleConfigurationStorage::SCOPE_ANALYTICS),
    │ 'lang' => $_SESSION['language_code']
    14:
    /usr/www/users/***/***-***-de/GXEngine/Services/System/Http/HttpViewController.inc.php:148
    │ }

    ├─ $response = call_user_func([$this, $methodName]);

    │ return $response;
    15:
    /usr/www/users/***/***-***-de/GXEngine/Services/System/Http/HttpViewController.inc.php:107

    │ $actionName = $this->httpContextReader->getActionName($httpContext);
    ├─ $response = $this->_callActionMethod($actionName);

    │ $this->httpResponseProcessor->proceed($response);
    16:
    /usr/www/users/***/***-***-de/GXEngine/Services/System/Http/HttpDispatcher.inc.php:71
    │ $controller->validateCurrentAdminStatus();
    │ }
    ├─ $controller->proceed($httpContext);
    │ }
    │ }
    17:
    /usr/www/users/***/***-***-de/GXEngine/Services/System/Http/HttpService.inc.php:66
    │ {
    │ try {
    ├─ $this->httpDispatcher->dispatch($httpContext);
    │ } catch (HttpControllerException $e) {
    │ if (!headers_sent()) {
    18:
    /usr/www/users/***/***-***-de/admin/admin.php:15
    │ $httpService = StaticGXCoreLoader::getService('Http');
    │ $httpContext = $httpService->getHttpContext();
    ├─ $httpService->handle($httpContext);
     
  3. Anonymous

    Anonymous Administrator
    Mitarbeiter

    Registriert seit:
    26. April 2011
    Beiträge:
    1.656
    Danke erhalten:
    1.261
    Danke vergeben:
    300
    @Orange Raven Wir haben gerade eine Korrektur auf unserem Server implementiert. Bitte prüfe erneut ob die vorhanden Ads Konten wieder zur Auswahl stehen.
     
  4. Orange Raven

    Orange Raven Erfahrener Benutzer

    Registriert seit:
    3. April 2013
    Beiträge:
    359
    Danke erhalten:
    139
    Danke vergeben:
    50
    Super. Funktioniert bei den betreffenden Kunden wieder wie es soll.