Бот, созданный с помощью MS Bot SDK 4, работает после часа простоя на канале Facebook и более - PullRequest
0 голосов
/ 07 декабря 2018

Здесь и в git для v3 бота sdk есть несколько вопросов, где бот получает «неавторизованные» ответы примерно через час на моем канале в фейсбуке, веб-чат работает отлично.

У меня есть эта проблема в v4 SDK, использующем ядро ​​.net 2.1, AspNetCore 2.1.6 и использующее что-то тривиальное, как пример echobot c #.Мне не ясно, идет ли несанкционированный доступ из фреймворка ботов Microsoft или из самого фейсбука.

Ниже приведен мой код и след ... Обратите внимание, что сбой, по-видимому, происходит из: Microsoft.Bot.Builder.Integration.IAdapterIntegration.

Мой код: для ответа:

public async Task OnTurnAsync(ITurnContext turnContext, CancellationToken cancellationToken = default(CancellationToken))
{
    if (turnContext.Activity.Type == ActivityTypes.Message)
    {
        _logger.LogInformation("OnTurnAsync got message");
        try
        {
           _logger.LogInformation("create activity");
           Activity reply = turnContext.Activity.CreateReply();
           _logger.LogInformation("send simple message");
           await turnContext.SendActivityAsync("hello world");
...

след:

[Information] CISBaseBot.CISBaseBot: OnTurnAsync got message
[Information] CISBaseBot.CISBaseBot: create activity
[Information] CISBaseBot.CISBaseBot: send simple message
[Information] Microsoft.Bot.Builder.Integration.IAdapterIntegration: Sending activity.  ReplyToId: TaqxSedy0NHkuz6v2d1SSDBtz0lj6KSn5cH__9maU0vjkxJiCcGelCs0gM-p7raz4eATFN1XtVpWMb_RYGQIFg
[Trace] CISBaseBot.CISBaseBot: Operation returned an invalid status code 'Unauthorized'
[Debug] Microsoft.AspNetCore.Server.Kestrel: Connection id "0HLIRTMBEP9BP" completed keep alive response.

Огромная благодарность за любую помощь заранее ... Судя по моему прочтению, токен с истекшим сроком действия, но я не смог найти, как обновитьтокен в V4 SDK.

1 Ответ

0 голосов
/ 07 декабря 2018

Хорошо, поэтому я решил, что мне лучше проверить страницу в Facebook и убедиться, что есть несколько вопросов о стеках об истекающих страницах или токенах пользователей.Для повторной аутентификации бота мне нужно было сделать следующее:

1) Я восстановил токен страницы Facebook (используя Messenger / settings / tokens на портале для разработчиков fb, а не в проводнике API графика, с которым у меня были проблемы)и затем обновил это в канале facebook в боте MS 2) На панели мониторинга fb для разработчиков в разделе webhooks / edit subscription я вставил «верифицировать токен» со страницы бота на Azure в диалоговое окно проверки и снова отправил.

Затем бот начал работать (без перезапуска, только одно обновление в azure / bot / channel).Этот вопрос касается токенов доступа вне контекста бота, но он наверняка входит в ту же самую верхушку «аутентификации страниц facebook, пользователей и приложений».

Жетоны доступа к странице Facebook - срок их действия истек? Жетоны доступа к странице Facebook - срок их действия истекает?

...