Laravel Botman:无法获得Facebook Messenger用户

时间:2018-08-06 19:53:42

标签: php laravel facebook bots facebook-messenger-bot

我正在使用 Botman Studio 。使用 Botman $ bot-> getUser() API时遇到意外错误。我添加了欢迎屏幕并开始使用有效负载。它工作正常。当用户单击Get_started时,我想存储用户的信息。但是Laravel Log说:

  

local.ERROR:发送有效载荷时出错:(#100)访问用户配置文件的权限不足。 {“ exception”:“ [对象](BotMan \ Drivers \ Facebook \ Exceptions \ FacebookException(代码:0):发送有效载荷时出错:(#100)在/..../vendor/botman中访问用户配置文件的权限不足。 /driver-facebook/src/FacebookDriver.php:501)

请帮助。我是博特曼的新手。 TIA。

文件:App \ Http \ Controllers \ BotmanController.php

 public function handle()
{
    $botman = app('botman');
    $botman->hears('GET_STARTED', function (BotMan $bot) {
        $bot_user = $bot->getUser();
        Log::info(\GuzzleHttp\json_encode($bot_user));
        $bot->reply("Hello! $bot_user->getFirstName()");
    });

    $botman->listen();
}

我还尝试了 Botman $ bot-> getDriver()。但是,它返回null,尽管 Botman $ bot-> getDriver()-> getName()返回 Facebook
Laravel版本:5.6
Botman版本:2.0

1 个答案:

答案 0 :(得分:0)

请使用您的开发者帐户测试相同的功能。如果您的机器人在生产中或是公开的,则Facebook需要批准访问用户信息的权限(每个人都可以访问)。 如果它与您的Facebook帐户一起使用(我假设您同时是Facebook页面和与机器人连接的开发人员应用程序的管理员。),那么您需要转到Facebook开发人员页面上的Messenger标签,然后向下滚动至对Messenger进行应用审查,然后提交所有可用的权限请求。