Метод App\Http\Controllers\XeroController::data не существует

Здравствуйте, у меня есть xero API

я пытаюсь интегрировать его с моим проектом laravel, я получаю ошибку выше. Я использую следующий пакет laravel для того же.

ссылка на пакет github: https://github.com/webfox/laravel-xero-oauth2/

----------------маршруты--------------------------------

Route::get('/manage/xero', [XeroController::class, 'index'])->name('xero.auth.success');

Route::get('xero/auth/callback', [XeroController::class, 'data'])->name('xero.auth.callback');

---контроллер-----------------

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Webfox\Xero\OauthCredentialManager;

class XeroController extends Controller
{
    public function index(Request $request, OauthCredentialManager $xeroCredentials)
    {
        try {
            // Check if we've got any stored credentials
            if ($xeroCredentials->exists()) {
                /* 
                 * We have stored credentials so we can resolve the AccountingApi, 
                 * If we were sure we already had some stored credentials then we could just resolve this through the controller
                 * But since we use this route for the initial authentication we cannot be sure!
                 */
                $xero             = resolve(\XeroAPI\XeroPHP\Api\AccountingApi::class);
                $organisationName = $xero->getOrganisations($xeroCredentials->getTenantId())->getOrganisations()[0]->getName();
                $user             = $xeroCredentials->getUser();
                $username         = "{$user['given_name']} {$user['family_name']} ({$user['username']})";
            }
        } catch (\throwable $e) {
            // This can happen if the credentials have been revoked or there is an error with the organisation (e.g. it's expired)
            $error = $e->getMessage();
        }

        return view('xero', [
            'connected'        => $xeroCredentials->exists(),
            'error'            => $error ?? null,
            'organisationName' => $organisationName ?? null,
            'username'         => $username ?? null
        ]);
    }
}

можете ли вы предоставить свой код

lagbox 22.12.2020 08:13

@lagbox да, я делюсь кодом

Sanmit Pawar 22.12.2020 08:16

Ваш маршрут xero/auth/callback направлен на несуществующую функцию XeroController::data().

patricus 22.12.2020 08:20
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
3
714
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Ваш маршрут xero/auth/callback направлен на несуществующую функцию XeroController::data().

Глядя на этот пакет, кажется, что он уже регистрирует маршрут для xero/auth/callback, указывающий на AuthorizationCallbackController в пакете. Я предполагаю, что вам просто нужно удалить маршрут, определенный вручную.

Другие вопросы по теме