botman / driver-facebook

BotMan Facebook Messenger Driver
MIT License
71 stars 72 forks source link

Error sending payload: Unsupported get request. Object with ID 'XXX' does not exist #90

Open mforcer opened 5 years ago

mforcer commented 5 years ago

I am having an issue with the Facebook driver in production:

Error sending payload: Unsupported get request. Object with ID '1278886878901311' does not exist, cannot be loaded due to missing permissions, or does not support this operation. Please read the Graph API documentation at https://developers.facebook.com/docs/graph-api

This error doesn't surface in development and even in production, the bot seemed to work OK. I've had my entire team try it and everything looks ok. I am storing users first name, last name and PSID and also able to properly respond to the PSID's I've tested.

Yet my error log is full of thousands of errors like the one below.

My code is a simple conversation with $bot->getUser();

A stripped back version of my class:

class MyConversation extends BotMan\BotMan\Messages\Conversations\Conversation 
{
    public function conversation()
    {
        $question = Question::create('...')
            ->fallback("...")
            ->callbackId('...')
            ->addButtons([
                Button::create('Yes')->value('1'),
                Button::create('No thanks')->value('0')
            ]);

        $this->ask($question, function(Answer $answer) {

            $this->response = $this->getYesNoAnswer($answer);

            if ($this->response === true) {
               $this->saveResponse();
            }
        });
    }

    public function saveResponse()
    {
        $user = $this->bot->getUser();
        $id = $user->getId();
        $forename = $user->getFirstName();
        $surname = $user->getLastName();

        // Save id, forename and surname to DB.
    }
}

Essentially a simple conversation which runs a saveResponse() method which attempts to get the user via $this->bot->getUser();

Finally, the error:

`[2018-12-17 20:40:05] production.ERROR: Error sending payload: Unsupported get request. Object with ID '1278886878901311' does not exist, cannot be loaded due to missing permissions, or does not support this operation. Please read the Graph API documentation at https://developers.facebook.com/docs/graph-api {"exception":"[object] (BotMan\Drivers\Facebook\Exceptions\FacebookException(code: 0): Error sending payload: Unsupported get request. Object with ID '1278886878901311' does not exist, cannot be loaded due to missing permissions, or does not support this operation. Please read the Graph API documentation at https://developers.facebook.com/docs/graph-api at /home/ashbot/vendor/botman/driver-facebook/src/FacebookDriver.php:505) [stacktrace]

0 /home/ashbot/vendor/botman/driver-facebook/src/FacebookDriver.php(462): BotMan\Drivers\Facebook\FacebookDriver->throwExceptionIfResponseNotOk(Object(Symfony\Component\HttpFoundation\Response))

1 /home/ashbot/vendor/botman/botman/src/BotMan.php(236): BotMan\Drivers\Facebook\FacebookDriver->getUser(Object(BotMan\BotMan\Messages\Incoming\IncomingMessage))

2 /home/ashbot/app/Http/Conversations/Conversation.php(34): BotMan\BotMan\BotMan->getUser()

3 /home/ashbot/app/Http/Conversations/NintendoSwitchConversation.php(49): App\Http\Conversations\Conversation->setFacebookUser(Object(BotMan\BotMan\BotMan))

4 /home/ashbot/vendor/botman/botman/src/Traits/HandlesConversations.php(28): App\Http\Conversations\NintendoSwitchConversation->run()

5 /home/ashbot/app/Http/Commands/NintendoSwitchCommand.php(15): BotMan\BotMan\BotMan->startConversation(Object(App\Http\Conversations\NintendoSwitchConversation))

6 [internal function]: App\Http\Commands\NintendoSwitchCommand->handler(Object(BotMan\BotMan\BotMan), 'ENTER')

7 /home/ashbot/vendor/botman/botman/src/BotMan.php(478): call_user_func_array(Array, Array)

8 /home/ashbot/vendor/botman/botman/src/BotMan.php(408): BotMan\BotMan\BotMan->callMatchingMessages()

9 /home/ashbot/app/Http/Controllers/AshBotController.php(24): BotMan\BotMan\BotMan->listen()

10 [internal function]: App\Http\Controllers\AshBotController->listener()

11 /home/ashbot/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): call_user_func_array(Array, Array)

12 /home/ashbot/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(45): Illuminate\Routing\Controller->callAction('listener', Array)

13 /home/ashbot/vendor/laravel/framework/src/Illuminate/Routing/Route.php(212): Illuminate\Routing\ControllerDispatcher->dispatch(Object(Illuminate\Routing\Route), Object(App\Http\Controllers\AshBotController), 'listener')

14 /home/ashbot/vendor/laravel/framework/src/Illuminate/Routing/Route.php(169): Illuminate\Routing\Route->runController()

15 /home/ashbot/vendor/laravel/framework/src/Illuminate/Routing/Router.php(658): Illuminate\Routing\Route->run()

16 /home/ashbot/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(30): Illuminate\Routing\Router->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))

17 /home/ashbot/app/Http/Middleware/PageIdentifier.php(31): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))

18 /home/ashbot/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): App\Http\Middleware\PageIdentifier->handle(Object(Illuminate\Http\Request), Object(Closure))

19 /home/ashbot/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))

20 /home/ashbot/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(41): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))

21 /home/ashbot/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\Routing\Middleware\SubstituteBindings->handle(Object(Illuminate\Http\Request), Object(Closure))

22 /home/ashbot/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))

23 /home/ashbot/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(68): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))

24 /home/ashbot/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle(Object(Illuminate\Http\Request), Object(Closure))

25 /home/ashbot/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))

26 /home/ashbot/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))

27 /home/ashbot/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\View\Middleware\ShareErrorsFromSession->handle(Object(Illuminate\Http\Request), Object(Closure))

28 /home/ashbot/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))

29 /home/ashbot/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(63): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))

30 /home/ashbot/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\Session\Middleware\StartSession->handle(Object(Illuminate\Http\Request), Object(Closure))

31 /home/ashbot/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))

32 /home/ashbot/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))

33 /home/ashbot/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle(Object(Illuminate\Http\Request), Object(Closure))

34 /home/ashbot/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))

35 /home/ashbot/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(66): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))

36 /home/ashbot/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\Cookie\Middleware\EncryptCookies->handle(Object(Illuminate\Http\Request), Object(Closure))

37 /home/ashbot/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))

38 /home/ashbot/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(102): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))

39 /home/ashbot/vendor/laravel/framework/src/Illuminate/Routing/Router.php(660): Illuminate\Pipeline\Pipeline->then(Object(Closure))

40 /home/ashbot/vendor/laravel/framework/src/Illuminate/Routing/Router.php(635): Illuminate\Routing\Router->runRouteWithinStack(Object(Illuminate\Routing\Route), Object(Illuminate\Http\Request))

41 /home/ashbot/vendor/laravel/framework/src/Illuminate/Routing/Router.php(601): Illuminate\Routing\Router->runRoute(Object(Illuminate\Http\Request), Object(Illuminate\Routing\Route))

42 /home/ashbot/vendor/laravel/framework/src/Illuminate/Routing/Router.php(590): Illuminate\Routing\Router->dispatchToRoute(Object(Illuminate\Http\Request))

43 /home/ashbot/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(176): Illuminate\Routing\Router->dispatch(Object(Illuminate\Http\Request))

44 /home/ashbot/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(30): Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}(Object(Illuminate\Http\Request))

45 /home/ashbot/vendor/fideloper/proxy/src/TrustProxies.php(56): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))

46 /home/ashbot/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Fideloper\Proxy\TrustProxies->handle(Object(Illuminate\Http\Request), Object(Closure))

47 /home/ashbot/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))

48 /home/ashbot/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(30): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))

49 /home/ashbot/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\Foundation\Http\Middleware\TransformsRequest->handle(Object(Illuminate\Http\Request), Object(Closure))

50 /home/ashbot/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))

51 /home/ashbot/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(30): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))

52 /home/ashbot/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\Foundation\Http\Middleware\TransformsRequest->handle(Object(Illuminate\Http\Request), Object(Closure))

53 /home/ashbot/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))

54 /home/ashbot/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))

55 /home/ashbot/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\Foundation\Http\Middleware\ValidatePostSize->handle(Object(Illuminate\Http\Request), Object(Closure))

56 /home/ashbot/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))

57 /home/ashbot/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php(46): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))

58 /home/ashbot/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle(Object(Illuminate\Http\Request), Object(Closure))

59 /home/ashbot/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))

60 /home/ashbot/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(102): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))

61 /home/ashbot/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(151): Illuminate\Pipeline\Pipeline->then(Object(Closure))

62 /home/ashbot/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(116): Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter(Object(Illuminate\Http\Request))

63 /home/ashbot/public/index.php(55): Illuminate\Foundation\Http\Kernel->handle(Object(Illuminate\Http\Request))

64 {main}

"} `

Thanks

christian482 commented 3 years ago

I got the same problem

iamafasha commented 2 years ago

Any advice on this?