Verbinden eines Bots mit FacebookConnect a bot to Facebook

Ihr Bot kann sowohl mit Facebook Messenger als auch mit Facebook Workplace verbunden werden, um mit Benutzern auf beiden Plattformen kommunizieren zu können.Your bot can be connected to both Facebook Messenger and Facebook Workplace, so that it can communicate with users on both platforms. Die folgenden Anweisungen zeigen, wie Sie einen Bot mit diesen beiden Kanälen verbinden.The following instructions show how to connect a bot to these two channels.

Hinweis

Die Facebook-Benutzeroberfläche kann je nach der von Ihnen verwendeten Version variieren.The Facebook UI may appear slightly different depending on which version you are using.

Verbinden eines Bots mit Facebook MessengerConnect a bot to Facebook Messenger

Weitere Informationen zum Entwickeln für Facebook Messenger finden Sie in der Dokumentation zur Messenger-Plattform.To learn more about developing for Facebook Messenger, see the Messenger platform documentation. Sie können auch die Pre-Launch Guidelines (Hinweise vor dem Start), Quick Start (Schnellstart) und das setup guide (Installationshandbuch) von Facebook lesen.You may wish to review Facebook's pre-launch guidelines, quick start, and setup guide.

Um einen Bot für die Kommunikation über Facebook Messenger zu konfigurieren, aktivieren Sie Facebook Messenger auf einer Facebook-Seite, und stellen Sie dann eine Verbindung mit dem Bot her.To configure a bot to communicate using Facebook Messenger, enable Facebook Messenger on a Facebook page and then connect the bot.

Kopieren der Seiten-IDCopy the Page ID

Auf den Bot wird über eine Facebook-Seite zugegriffen.The bot is accessed through a Facebook Page.

  1. Erstellen Sie eine neue Facebook-Seite, oder navigieren Sie zu einer vorhandenen Seite.Create a new Facebook Page or go to an existing Page.

  2. Öffnen Sie die Seite Info der Facebook-Seite, und kopieren und speichern Sie die Seiten-ID.Open the Facebook Page's About page and then copy and save the Page ID.

Erstellen einer Facebook-AppCreate a Facebook app

  1. Navigieren Sie in Ihrem Browser zu Create a new Facebook App (Erstellen einer neuen Facebook-App).In your browser, navigate to Create a new Facebook App.

  2. Geben Sie den Namen Ihrer App ein, und wählen Sie Create New Facebook App ID (Neue Facebook-App-ID erstellen) aus.Enter the name of your app and select Create New Facebook App ID.

    Erstellen einer App

  3. Geben Sie im angezeigten Dialogfeld Ihre E-Mail-Adresse ein, und wählen Sie App-ID erstellen aus.In the displayed dialog, enter your email address and select Create App ID.

    Erstellen einer App-ID

  4. Durchlaufen Sie den Assistenten.Go through the wizard steps.

  5. Geben Sie die erforderlichen Überprüfungsinformationen ein, und wählen Sie dann oben rechts Schnellstart überspringen aus.Enter the required check information, then select Skip Quick Start in the upper right.

  6. Erweitern Sie im linken Bereich des nächsten angezeigten Fensters Einstellungen, und wählen Sie Basic aus.In the left pane of the next displayed window, expand Settings and select Basic.

  7. Kopieren Sie im rechten Bereich die App-ID und das App-Geheimnis, und speichern Sie sie.In the right pane, copy and save the App ID and App Secret.

    Kopieren von App-ID und App-Geheimnis

  8. Wählen Sie im linken Bereich unter Einstellungen die Option Erweitert aus.In the left pane, under Settings, select Advanced.

  9. Ändern Sie im rechten Bereich den Schieberegler API-Zugriff auf App-Einstellungen zulassen auf Ja.In the right pane, switch the Allow API Access to App Settings slider to Yes.

    ZULASSEN DES API-Zugriffs auf App-Einstellungen

  10. Wählen Sie unten rechts auf der Seite Änderungen speichern aus.In the page bottom right, select Save Changes.

Messenger aktivierenEnable Messenger

  1. Wählen Sie im linken Bereich Dashboard aus.In the left pane, select Dashboard.

  2. Scrollen Sie im rechten Bereich nach unten zum Feld Messenger, und wählen Sie Einrichten aus.In the right pane, scroll down to the Messenger box and select Set Up. Der Eintrag „Messenger“ wird im linken Bereich unter dem Abschnitt PRODUCTS (PRODUKTE) angezeigt.The Messenger entry is displayed under the PRODUCTS section in the left pane.

    Messenger aktivieren

Hinzufügen von Seiten und Generieren von TokenAdd pages and generate tokens

  1. Wählen Sie im linken Bereich unter dem Eintrag Messenger die Option Einstellungen aus.In the left pane, under the Messenger entry, select Settings.

  2. Scrollen Sie im rechten Bereich nach unten zu Zugriffstoken, und wählen Sie Seiten hinzufügen oder entfernen aus.In the right pane, scroll down to Access Tokens and select Add or Remove Pages.

    Schnittstelle zum Hinzufügen oder Entfernen einer Seite

  3. Wählen Sie in der Liste, die im nächsten Fenster angezeigt wird, die Seiten aus, die Sie mit der App verwenden möchten.From the list that comes up in the next window, choose the pages you want to use with the app.

  4. Wählen Sie Fertig aus.Select Done.

  5. Um ein Token für diese Seite zu generieren, wählen Sie Token generieren aus.To generate a token for this page, select Generate Token.

Aktivieren von WebhooksEnable webhooks

Um Nachrichten und andere Ereignisse von Ihrem Bot an Facebook Messenger senden zu können, müssen Sie die Webhookintegration aktivieren.In order to send messages and other events from your bot to Facebook Messenger, you must enable webhooks integration. Lassen Sie die Facebook-Einstellungsschritte ausstehend.Leave the Facebook setting steps pending. Sie werden später aktualisiert.You'll update them later.

  1. Öffnen Sie in Ihrem Browser ein neues Fenster, und navigieren Sie zum Azure-Portal.In your browser open a new window and navigate to the Azure portal.

  2. Wählen Sie in der Liste Ressource die Botressourcenregistrierung aus, und wählen Sie auf dem zugehörigen Blatt Kanäle aus.In the Resource list, select on the bot resource registration and in the related blade select Channels.

  3. Wählen Sie im rechten Bereich das Facebook-Symbol aus.In the right pane, select the Facebook icon.

  4. Geben Sie im Assistenten die in den vorherigen Schritten gespeicherten Facebook-Informationen ein.In the wizard enter the Facebook information stored in the previous steps. Sind die Informationen korrekt, werden am unteren Rand des Assistenten Werte für Rückruf-URL und Token überprüfen angezeigt.If the information is correct, at the bottom of the wizard, you should see the callback URL and the verify token. Kopieren und speichern Sie diese.Copy and store them.

    Schnittstelle zum Konfigurieren des Facebook Messenger Kanals

  5. Klicken Sie auf Speichern.Select Save.

  6. Wechseln Sie zurück zu den Facebook-Einstellungen, um den Konfigurationsprozess abzuschließen.Go back to the Facebook settings to finish up the configuration process.

  7. Geben Sie die Rückruf-URL ein, und überprüfen Sie die Tokenwerte, die Sie im Azure-Portal gesammelt haben.Enter the callback URL and verify token values that you collected from the Azure portal.

  8. Aktivieren Sie im Abschnitt Webhookkonfiguration die folgenden Abonnements: _ Nachrichtenübermittlungen, Nachrichten, _ Messagingoptionen und _ Messaging-Postbacks.In the Webhooks configuration section, enable the following subscriptions: message_deliveries, messages, messaging_options, and messaging_postbacks.

Übermitteln zur ÜberprüfungSubmit for review

Facebook erfordert eine Datenschutzrichtlinien-URL und eine Nutzungsbedingungen-URL auf der Seite mit den Grundeinstellungen der App.Facebook requires a Privacy Policy URL and Terms of Service URL on its basic app settings page. Die Seite mit dem Verhaltenskodex enthält Links zu Ressourcen von Drittanbietern, die Ihnen beim Erstellen einer Datenschutzrichtlinie helfen.The Code of Conduct page contains third party resource links to help create a privacy policy. Die Seite Nutzungsbedingungen enthält Beispielbedingungen zur Unterstützung beim Erstellen eines geeigneten Dokuments mit Nutzungsbedingungen.The Terms of Use page contains sample terms to help create an appropriate Terms of Service document.

Nachdem der Bot fertiggestellt wurde, führt Facebook einen eigenen Überprüfungsprozess für Apps durch, die für Messenger veröffentlicht werden.After the bot is finished, Facebook has its own review process for apps that are published to Messenger. Der Bot wird getestet, um sicherzustellen, dass er mit den Plattformrichtlinienvon Facebook konform ist.The bot will be tested to ensure it's compliant with Facebook's Platform Policies.

Veröffentlichen der App und der SeiteMake the App public and publish the Page

Hinweis

Bis zu ihrer Veröffentlichung befindet sich eine App im Entwicklungsmodus.Until an app is published, it is in Development Mode. Die Funktionen von Plug-Ins und APIs sind nur für Administratoren, Entwickler und Tester aktiv.Plugin and API functionality will only work for admins, developers, and testers.

Nach der erfolgreichen Überprüfung legen Sie die App auf dem App-Dashboard unter „App-Prüfung“ als öffentlich fest.After the review is successful, in the App Dashboard under App Review, set the app to Public. Stellen Sie sicher, dass die Facebook-Seite, der dieser Bot zugeordnet ist, öffentlich ist.Ensure that the Facebook Page associated with this bot is published. Der Status wird in den Seiteneinstellungen angezeigt.Status appears in Pages settings.

Verbinden eines Bots mit Facebook WorkplaceConnect a bot to Facebook Workplace

Hinweis

Am 16. Dezember 2019 änderte Workplace by Facebook das Sicherheitsmodell für benutzerdefinierte Integrationen.On December 16, 2019, Workplace by Facebook changed its security model for custom integrations. Frühere, mit Microsoft Bot Framework v4 erstellte Integrationen müssen aktualisiert werden, sodass sie die Bot Framework Facebook-Adapter gemäß den folgenden Anweisungen vor dem 28. Februar 2020 verwenden.Prior integrations built using Microsoft Bot Framework v4 need to be updated to use the Bot Framework Facebook adapters per the instructions below prior to February 28, 2020.

Facebook berücksichtigt nur Integrationen mit eingeschränktem Zugriff auf Arbeitsplatzdaten (niedrige Vertraulichkeitsberechtigungen), die bis zum 31. Dezember 2020 für die fortgesetzte Verwendung qualifiziert sind, wenn diese Integrationen das Security RFI-Verfahren abgeschlossen und bestanden haben und der Entwickler vor dem 15. Januar 2020 über Direct Support die weitere Verwendung der App beantragt.Facebook will only consider integrations with limited access to Workplace data (low sensitivity permissions) eligible for continued use until December 31, 2020 if such integrations have completed and passed Security RFI and if the developer reaches out before January 15, 2020 via Direct Support to request continued use of the app.

Bot Framework-Adapter sind für JavaScript/Node.js- und C#/.NET-Bots verfügbar.Bot Framework adapters are available for JavaScript/Node.js and C#/.NET bots.

Facebook Workplace ist eine für Unternehmen konzipierte Version von Facebook, mit der Mitarbeiter problemlos zusammenarbeiten und sich vernetzen können.Facebook Workplace is a business-oriented version of Facebook, which allows employees to easily connect and collaborate. Sie enthält Livevideos, Nachrichtenfeeds, Gruppen, Messenger, Reaktionen, Suche und Trendbeiträge.It contains live videos, news feeds, groups, messenger, reactions, search, and trending posts. Darüber hinaus unterstützt sie Folgendes:It also supports:

  • Analysen und Integrationen:Analytics and integrations. Ein Dashboard mit Analysen, Integration, einmaligem Anmelden und Identitätsanbietern, über das Unternehmen Workplace in ihre vorhandenen IT-Systeme integrieren können.A dashboard with analytics, integration, single sign-on, and identity providers that companies use to integrate Workplace with their existing IT systems.
  • Unternehmensübergreifende Gruppen:Multi-company groups. Gemeinsam genutzte Bereiche, in denen Mitarbeiter aus verschiedenen Organisationen zusammenarbeiten können.Shared spaces in which employees from different organizations can work together and collaborate.

Im Workplace Help Center finden Sie weitere Informationen zu Facebook Workplace, und die Entwicklerdokumentation für Workplace enthält Richtlinien zur Entwicklung für Facebook Workplace.See the Workplace Help Center to learn more about Facebook Workplace and Workplace Developer Documentation for guidelines about developing for Facebook Workplace.

Wenn Sie Facebook Workplace mit Ihrem Bot verwenden möchten, müssen Sie ein Workplace-Konto und eine benutzerdefinierte Integration erstellen, um eine Verbindung mit dem Bot herzustellen.To use Facebook Workplace with your bot, you must create a Workplace account and a custom integration to connect the bot.

Erstellen Sie ein Premium-Konto für WorkplaceCreate a Workplace Premium account

  1. Übermitteln Sie im Namen Ihres Unternehmens einen Antrag für Workplace.Submit an application to workplace on behalf of your company.
  2. Nachdem Ihr Antrag genehmigt wurde, erhalten Sie eine Einladungs-E-Mail.Once your application has been approved, you will receive an email inviting you to join. Die Antwort kann eine Weile dauern.The response may take a while.
  3. Wählen Sie in der E-Mail-Einladung Los geht's aus.From the e-mail invitation, select Get Started.
  4. Geben Sie Ihre Profilinformationen ein.Enter your profile information.

    Tipp

    Legen Sie sich selbst als Systemadministrator fest.Set yourself as the system administrator. Zur Erinnerung: Nur Systemadministratoren können benutzerdefinierte Integrationen erstellen.Remember that only system administrators can create custom integrations.

  5. Wählen Sie Vorschauprofil aus, und überprüfen Sie, ob die Informationen korrekt sind.Select Preview Profile and verify the information is correct.
  6. Verwenden Sie die kostenlose Testversion.Access Free Trial.
  7. Erstellen Sie ein Kennwort.Create a password.
  8. Wählen Sie Kollegen einladen aus, um Mitarbeiter zur Anmeldung einzuladen.Select Invite Coworkers to invite employees to sign-in. Die eingeladenen Mitarbeiter werden Mitglieder, sobald Sie sich anmelden.The employees you invited will become members as soon as they sign. Dabei durchlaufen sie einen ähnlichen Anmeldevorgang wie in diesen Schritten beschrieben.They will go through a similar sign-in process as described in these steps.

Erstellen einer benutzerdefinierten IntegrationCreate a custom integration

Gehen Sie wie folgt vor, um eine benutzerdefinierte Integration für Ihre Workplace-Instanz zu erstellen.Create a custom integration for your Workplace following the steps described below. Wenn Sie eine benutzerdefinierte Integration erstellen, wird eine App mit definierten Berechtigungen und einer Seite vom Typ Bot (nur innerhalb Ihrer Workplace-Community sichtbar) erstellt.When you create a custom integration, an app with defined permissions and a page of type Bot (visible only within your Workplace community) are created.

  1. Öffnen Sie im Administratorbereich die Registerkarte Integrationen.In the Admin Panel, open the Integrations tab.

  2. Wählen Sie Eigene benutzerdefinierte App erstellen aus.Select Create your own custom App.

    Workplace-Integration

  3. Wählen Sie einen Anzeigenamen und ein Profilbild für die App aus.Choose a display name and a profile picture for the app. Diese Informationen werden für die Seite vom Typ Bot freigegeben.Such information will be shared with the page of type Bot.

  4. Legen Sie den Schieberegler Allow API Access to App Settings (API-Zugriff auf App-Einstellungen zulassen) auf „Yes“ (Ja) fest.Set the Allow API Access to App Settings to "Yes".

  5. Kopieren Sie die angezeigte App-ID, das App-Geheimnis und das App-Token, und speichern Sie diese Angaben an einem sicheren Ort.Copy and safely store the App ID, App Secret and App Token that's shown to you.

    Workplace-Schlüssel

  6. Sie haben die Erstellung einer benutzerdefinierten Integration jetzt abgeschlossen.Now you have finished creating a custom integration. Sie finden die Seite vom Typ Bot in Ihrer Workplace-Community, wie unten dargestellt.You can find the page of type Bot in your Workplace community, as shown below.

    Workplace-Seite

Aktualisieren Ihres Botcodes mit dem Facebook-AdapterUpdate your bot code with Facebook adapter

Der Quellcode des Bots muss aktualisiert werden, um einen Adapter für die Kommunikation mit Workplace by Facebook zu enthalten.Your bot's source code needs to be updated to include an adapter to communicate with Workplace by Facebook. Adapter sind für JavaScript/Node.js- und C#/.NET-Bots verfügbar.Adapters are available for JavaScript/Node.js and C#/.NET bots.

Angeben von Facebook-AnmeldeinformationenProvide Facebook credentials

Fügen Sie der dateieigenenappsettings.js Ihres Bots die Werte facebook-App-ID, Facebook-App-Geheimnis und Seitenzugriffstoken hinzu, die Sie zuvor aus Facebook Workplace kopiert haben.To your bot's appsettings.json file, add the Facebook App ID, Facebook App Secret and Page Access Token values that you copied from Facebook Workplace previously. Verwenden Sie anstelle einer herkömmlichen Seiten-ID die Zahlen, die dem Integrationsnamen auf der Seite About folgen.Instead of a traditional page ID, use the numbers following the integrations name on its About page. Befolgen Sie diese Anweisungen, um Ihren Botquellcode in JavaScript/Node.js oder C#/.NET zu aktualisieren.Follow these instructions to update your bot source code in JavaScript/Node.js or C#/.NET.

Übermitteln der Workplace-App zur ÜberprüfungSubmit Workplace app for review

Ausführlichere Informationen hierzu finden Sie im Abschnitt Verbinden eines Bots mit Facebook Messenger und in der Entwicklerdokumentation zu Workplace.Please refer to the Connect a bot to Facebook Messenger section and Workplace Developer Documentation for details.

Veröffentlichen der Workplace-App und Veröffentlichen der SeiteMake the Workplace app public and publish the Page

Ausführliche Informationen finden Sie im Abschnitt Verbinden eines Bots mit Facebook Messenger.Please refer to the Connect a bot to Facebook Messenger section for details.

Festlegen der API-VersionSetting the API version

Wenn Sie von Facebook eine Benachrichtigung zur Veraltung einer bestimmten Version der Graph-API erhalten, wechseln Sie zur Seite für Facebook-Entwickler.If you receive a notification from Facebook about deprecation of a certain version of the Graph API, go to Facebook developers page. Navigieren Sie zu den App-Einstellungen Ihres Bots, wechseln Sie zu Einstellungen > Erweiterte > Upgrade-API-Version, und wechseln Sie dann Upgrade All Calls to version 4.0 (Alle Aufrufe auf Version 4.0 aktualisieren).Navigate to your bot's App Settings and go to Settings > Advanced > Upgrade API version, then switch Upgrade All Calls to version 4.0.

Verbinden eines Bots mit Facebook über den Facebook-AdapterConnect a bot to Facebook using the Facebook adapter

Verwenden Sie den Bot Framework Facebook-Adapter, um eine Verbindung zwischen Ihrem Bot und Facebook Workplace herzustellen.Use the Bot Framework Facebook adapter to connect your bot with Facebook Workplace. Um eine Verbindung mit Facebook Messenger herzustellen, können Sie den Facebook-Kanal oder den Facebook-Adapter verwenden.To connect to Facebook Messenger, you can use the Facebook channel or the Facebook adapter. Facebook-Adapter sind für JavaScript/Node.js- und C#/.NET-Bots verfügbar.Facebook adapters are available for JavaScript/Node.js and C#/.NET bots.

In diesem Artikel erfahren Sie, wie Sie mit dem Adapter eine Verbindung des Bots mit Facebook herstellen können.In this article you will learn how to connect a bot to Facebook using the adapter. Dieser Artikel führt Sie durch das Ändern des Echo-Botbeispiels, um es mit Facebook zu verbinden.This article will walk you through modifying the Echo bot sample to connect it to Facebook.

In den folgenden Anweisungen wird die C#-Implementierung des Facebook-Adapters behandelt.The instructions below cover the C# implementation of the Facebook adapter. Anweisungen zur Verwendung des JavaScript-Adapters, der Teil der BotKit-Bibliotheken ist, finden Sie in der BotKit-Facebook-Dokumentation.For instructions on using the JavaScript adapter, part of the BotKit libraries, see the BotKit Facebook documentation.

VoraussetzungenPrerequisites

Erstellen einer Facebook-App, einer Seite und Sammeln von AnmeldeinformationenCreate a Facebook app, page and gather credentials

  1. Melden Sie sich bei https://developers.facebook.com an.Log into https://developers.facebook.com. Wählen Sie im Hauptmenü Meine Apps > App erstellen aus.In the main menu, select My Apps > Create App.

    Erstellen einer App

  2. Geben Sie im angezeigten Dialogfeld einen Anzeigenamen für Ihre neue App ein, und wählen Sie dann App-ID erstellen aus.In the dialog that appears, enter a display name for your new app and then select Create App ID.

    Definieren des App-Namens

Einrichten von Messenger und Zuordnen einer Facebook-SeiteSet up Messenger and associate a Facebook page

  1. Nachdem Ihre App erstellt wurde, wird eine Liste der zur Einrichtung verfügbaren Produkte angezeigt.Once your app has been created, you will see a list of products available to set up. Wählen Sie neben dem Messenger-Produkt die Option Einrichten aus.Select Set Up next to the Messenger product.

  2. Sie müssen Ihre neue App jetzt einer Facebook-Seite — zuordnen, um eine Seite zu erstellen, wenn Sie nicht über eine seite verfügen, die Sie verwenden möchten. Wählen Sie im Abschnitt Zugriffstoken die Option Neue Seite erstellen aus.You now need to associate your new app with a Facebook page—to create a page if you do not have an existing page you want to use, select Create New Page in the Access Tokens section. Wählen Sie Seiten hinzufügen oder entfernen aus, wählen Sie die Seite aus, die Sie Ihrer App zuordnen möchten, und wählen Sie Weiter aus.Select Add or Remove Pages, choose the page you want to associated with your app, and select Next. Lassen Sie die Einstellung Seitenkonversationen auf Messenger verwalten und darauf zugreifen aktiviert, und wählen Sie Fertig aus.Leave the Manage and access Page conversations on Messenger setting enabled and select Done.

Einrichten von Messenger

  1. Nachdem Sie Ihre Seite zugeordnet haben, wählen Sie Token generieren aus, um ein Seitenzugriffstoken zu generieren.Once you have associated your page, select Generate Token to generate a page access token. Notieren Sie sich dieses Token, da Sie es in einem späteren Schritt benötigen, wenn Sie Ihre Botanwendung konfigurieren.Make a note of this token as you will need it in a later step when configuring your bot application.

Abrufen Ihres App-GeheimnissesObtain your app secret

  1. Wählen Sie im Menü auf der linken Seite Einstellungen und dann Basic aus, um zur Seite mit den grundlegenden Einstellungen für Ihre App zu navigieren.In the left hand menu, select Settings and then select Basic to navigate to the basic settings page for your app.

  2. Wählen Sie auf der Seite mit den grundlegenden Einstellungen neben Ihrem App-Geheimnis die Option Anzeigen aus.On the basic settings page, select Show next to your App Secret. Notieren Sie sich dieses Geheimnis, da Sie es in einem späteren Schritt benötigen, wenn Sie Ihre Botanwendung konfigurieren.Make a note of this secret as you will need it in a later step when configuring your bot application.

Einrichten des Facebook-Adapters in Ihrem BotWiring up the Facebook adapter in your bot

Nun verfügen Sie über eine Facebook-App, eine Seite und Anmeldeinformationen und müssen Ihre Botanwendung konfigurieren.Now that you have your Facebook app, page and credentials, you need to configure your bot application.

Installieren des Facebook-Adapter-NuGet-PaketsInstall the Facebook adapter NuGet package

Fügen Sie das NuGet-Paket Microsoft.Bot.Builder.Adapters.Facebook hinzu.Add the Microsoft.Bot.Builder.Adapters.Facebook NuGet package. Weitere Informationen zur Verwendung von NuGet finden Sie unter Installieren und Verwalten von Paketen in Visual Studio mit dem NuGet-Paket-Manager.For more information on using NuGet, see Install and manage packages in Visual Studio.

Erstellen einer Facebook-AdapterklasseCreate a Facebook adapter class

Erstellen Sie eine neue Klasse, die von der FacebookAdapter -Klasse erbt.Create a new class that inherits from the FacebookAdapter class. Diese Klasse fungiert als Adapter für den Facebook-Kanal und enthält Fehlerbehandlungsfunktionen (ähnlich wie BotFrameworkAdapterWithErrorHandler die Klasse, die bereits im Beispiel verwendet wird, um andere Anforderungen von Azure Bot Service zu verarbeiten).This class will act as our adapter for the Facebook channel and include error handling capabilities (similar to the BotFrameworkAdapterWithErrorHandler class already in the sample, used for handling other requests from Azure Bot Service).

public class FacebookAdapterWithErrorHandler : FacebookAdapter
{
    public FacebookAdapterWithErrorHandler(IConfiguration configuration, ILogger<BotFrameworkHttpAdapter> logger)
            : base(configuration, logger)
        {
            OnTurnError = async (turnContext, exception) =>
            {
                // Log any leaked exception from the application.
                logger.LogError(exception, $"[OnTurnError] unhandled error : {exception.Message}");

                // Send a message to the user
                await turnContext.SendActivityAsync("The bot encountered an error or bug.");
                await turnContext.SendActivityAsync("To continue to run this bot, please fix the bot source code.");

                // Send a trace activity, which will be displayed in the Bot Framework Emulator
                await turnContext.TraceActivityAsync("OnTurnError Trace", exception.Message, "https://www.botframework.com/schemas/error", "TurnError");
            };
        }
}

Erstellen eines neuen Controllers für die Verarbeitung von Facebook-AnforderungenCreate a new controller for handling Facebook requests

Erstellen Sie einen neuen Controller, der Anforderungen von Facebook verarbeitet, auf einem neuen api/facebook Endpunkt anstelle des api/messages Standardendpunkts, der für Anforderungen von Azure Bot Service Kanälen verwendet wird.Create a new controller which will handle requests from Facebook, on a new api/facebook endpoint instead of the default api/messages endpoint used for requests from Azure Bot Service channels. Indem Sie Ihrem Bot einen zusätzlichen Endpunkt hinzufügen, können Sie mit demselben Bot sowohl Anforderungen von Bot Service-Kanälen als auch von Facebook akzeptieren.By adding an additional endpoint to your bot, you can accept requests from Bot Service channels, as well as from Facebook, using the same bot.

[Route("api/facebook")]
[ApiController]
public class FacebookController : ControllerBase
{
    private readonly FacebookAdapter _adapter;
    private readonly IBot _bot;

    public FacebookController(FacebookAdapter adapter, IBot bot)
    {
        _adapter = adapter;
        _bot = bot;
    }

    [HttpPost]
    [HttpGet]
    public async Task PostAsync()
    {
        // Delegate the processing of the HTTP POST to the adapter.
        // The adapter will invoke the bot.
        await _adapter.ProcessAsync(Request, Response, _bot);
    }
}

Einfügen des Facebook-Adapters in die Datei „startup.cs“ des BotsInject the Facebook adapter in your bot startup.cs

Fügen Sie der ConfigureServices -Methode in der Datei startup.cs die folgende Zeile hinzu.Add the following line to the ConfigureServices method within your startup.cs file. Dadurch wird Ihr Facebook-Adapter registriert und für die neue Controllerklasse verfügbar gemacht.This will register your Facebook adapter and make it available for your new controller class. Die Konfigurationseinstellungen, die Sie im vorherigen Schritt hinzugefügt haben, werden automatisch vom Adapter verwendet.The configuration settings you added in the previous step will be automatically used by the adapter.

services.AddSingleton<FacebookAdapter, FacebookAdapterWithErrorHandler>();

Nach dem Hinzufügen sollte Ihre ConfigureServices Methode wie folgt aussehen.Once added, your ConfigureServices method should look like this.

public void ConfigureServices(IServiceCollection services)
{
    services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);

    // Create the default Bot Framework adapter (used for Azure Bot Service channels and Emulator).
    services.AddSingleton<IBotFrameworkHttpAdapter, BotFrameworkAdapterWithErrorHandler>();

    // Create the Facebook adapter
    services.AddSingleton<FacebookAdapter, FacebookAdapterWithErrorHandler>();

    // Create the bot as a transient. In this case the ASP controller is expecting an IBot.
    services.AddTransient<IBot, EchoBot>();
}

Abrufen einer URL für Ihren BotObtain a URL for your bot

Nachdem Sie nun den Adapter in Ihrem Botprojekt eingerichtet haben, müssen Sie Facebook den richtigen Endpunkt für Ihre Anwendung bereitstellen, damit der Bot Nachrichten empfängt.Now that you have wired up the adapter in your bot project, you need to provide to Facebook the correct endpoint for your application, so that your bot will receive messages. Sie benötigen diese URL auch, um die Konfiguration Ihrer Botanwendung abzuschließen.You also need this URL to complete configuration of your bot application.

Um diesen Schritt abzuschließen, stellen Sie den Bot in Azure bereit, und notieren Sie die URL Ihres bereitgestellten Bots.To complete this step, deploy your bot to Azure and make a note of the URL of your deployed bot.

Hinweis

Wenn Sie nicht bereit sind, Ihren Bot in Azure bereitzustellen, oder Wenn Sie ihren Bot bei Verwendung des Facebook-Adapters debuggen möchten, können Sie ein Tool wie ngrok (das Sie wahrscheinlich bereits installiert haben, wenn Sie die Bot Framework Emulator zuvor verwendet haben) verwenden, um den Tunnel zu Ihrem lokal ausgeführten Bot zu tunneln und eine öffentlich zugängliche URL dafür bereitzustellen.If you are not ready to deploy your bot to Azure, or wish to debug your bot when using the Facebook adapter, you can use a tool such as ngrok (which you will likely already have installed if you have used the Bot Framework Emulator previously) to tunnel through to your bot running locally and provide you with a publicly accessible URL for this.

Wenn Sie einen ngrok-Tunnel erstellen und eine URL zu Ihrem Bot abrufen möchten, verwenden Sie den folgenden Befehl in einem Terminalfenster (dies setzt voraus, dass der lokale Bot auf Port 3978 ausgeführt wird; wenn dies auf Ihren Bot nicht zutrifft, ändern Sie die Portnummern im Befehl).If you wish create an ngrok tunnel and obtain a URL to your bot, use the following command in a terminal window (this assumes your local bot is running on port 3978, alter the port numbers in the command if your bot is not).

ngrok.exe http 3978 -host-header="localhost:3978"

Hinzufügen von Facebook-App-Einstellungen zur Konfigurationsdatei Ihres BotsAdd Facebook app settings to your bot's configuration file

Fügen Sie die unten gezeigten Einstellungen ihrer appsettings.js-Datei in Ihrem Botprojekt hinzu.Add the settings shown below to your appsettings.json file in your bot project. Legen Sie die Werte, die Sie beim Erstellen und Konfigurieren Ihrer Facebook-App gesammelt haben, für FacebookAppSecret und FacebookAccessToken fest.You populate FacebookAppSecret and FacebookAccessToken using the values you gathered when creating and configuring your Facebook App. FacebookVerifyToken sollte eine zufällige Zeichenfolge sein, die Sie erstellen, und wird verwendet, um sicherzustellen, dass der Endpunkt Ihres Bots bei Aufruf durch Facebook authentifiziert ist.FacebookVerifyToken should be a random string that you create and will be used to ensure your bot's endpoint is authentic when called by Facebook.

"FacebookVerifyToken": "",
"FacebookAppSecret": "",
"FacebookAccessToken": ""

Nachdem Sie die oben aufgeführten Einstellungen vorgenommen haben, sollten Sie den Bot erneut bereitstellen (oder bei der lokalen Ausführung mit ngrok neu starten).Once you have populated the settings above, you should redeploy (or restart if running locally with ngrok) your bot.

Abschluss der Konfiguration Ihrer Facebook-AppComplete configuration of your Facebook app

Im letzten Schritt konfigurieren Sie den Messenger-Endpunkt Ihrer neuen Facebook-App, um sicherzustellen, dass Ihr Bot Nachrichten empfängt.The final step is to configure your new Facebook app's Messenger endpoint, to ensure your bot receives messages.

  1. Wählen Sie im Dashboard für Ihre App im menü auf der linken Seite Messenger und dann Einstellungen aus.Within the dashboard for your app, select Messenger in the left hand menu and then select Settings.

  2. Wählen Sie im Abschnitt Webhooks die Option Rückruf-URL hinzufügen aus.In the Webhooks section select Add Callback URL.

  3. Geben Sie in das Textfeld Callback URL (Rückruf-URL) die URL Ihres Bots ein, plus des api/facebook-Endpunkts, den Sie im neu erstellten Controller angegeben haben.In the Callback URL text box enter your bot's URL, plus the api/facebook endpoint you specified in your newly created controller. Beispiel: https://yourboturl.com/api/facebook.For example, https://yourboturl.com/api/facebook. Geben Sie im Textfeld Token überprüfen das Zuvor erstellte und im appsettings.js der Datei Ihrer Botanwendung verwendete Überprüfungstoken ein.In the Verify Token text box enter the verify token you created earlier and used in your bot application's appsettings.json file.

    Bearbeiten der Rückruf-URL

  4. Wählen Sie Überprüfen und speichern aus.Select Verify and Save. Stellen Sie sicher, dass der Bot ausgeführt wird, da Facebook eine Anforderung an den Endpunkt Ihrer Anwendung stellt und ihn mithilfe ihres Prüftokens überprüft.Ensure you bot is running, as Facebook will make a request to your application's endpoint and verify it using your Verify Token.

  5. Nachdem Ihre Rückruf-URL überprüft wurde, wählen Sie Abonnements hinzufügen aus, die jetzt angezeigt werden.Once your callback URL has been verified, select Add Subscriptions that is now shown. Wählen Sie im Popupfenster die folgenden Abonnements und dann Speichern aus.In the pop-up window, choose the following subscriptions and select Save.

    • messagesmessages
    • messaging_postbacksmessaging_postbacks
    • messaging_optionsmessaging_optins
    • messaging_deliveriesmessaging_deliveries

    Webhook-Abonnements

Testen des Bots mit Adapter in FacebookTest your bot with adapter in Facebook

Sie können jetzt überprüfen, ob Ihr Bot ordnungsgemäß mit Facebook verbunden ist, indem Sie eine Nachricht über die Facebook-Seite senden, die Sie mit ihrer neuen Facebook-App zugeordnet haben.You can now test whether your bot is connected to Facebook correctly by sending a message via the Facebook Page you associated with your new Facebook app.

  1. Navigieren Sie zu Ihrer Facebook-Seite.Navigate to your Facebook Page.

  2. Wählen Sie Schaltfläche hinzufügen aus.Select Add a Button.

    Hinzufügen einer Schaltfläche

  3. Wählen Sie Contact You (Kontakt mit Ihnen) und Send Message(Nachricht senden) und dann Next (Weiter) aus.Choose Contact You and Send Message, then select Next.

    Auswählen der schaltflächen, die angezeigt werden

  4. Wenn Sie gefragt werden, wohin diese Schaltfläche Personen senden soll? wählen Sie Messenger und dann Fertig stellen aus.When asked Where would you like this button to send people to? choose Messenger, then select Finish.

    Auswählen, wohin die Schaltflächen Personen senden

  5. Zeigen Sie auf die neue Schaltfläche Nachricht senden, die jetzt auf Ihrer Facebook-Seite angezeigt wird, und wählen Sie im Popupmenü die Option Testschaltfläche aus.Hover over the new Send Message button that is now shown on your Facebook Page and select Test Button from the pop-up menu. Dadurch wird eine neue Konversation mit Ihrer App über Facebook-Messenger gestartet, die Sie verwenden können, um das Messaging Ihres Bots zu testen.This will start a new conversation with your app via Facebook Messenger, which you can use to test messaging your bot. Nachdem die Nachricht von Ihrem Bot empfangen wurde, sendet er eine Nachricht an Sie zurück, um den Text aus Ihrer Nachricht wiederzugeben.Once the message is received by your bot, it will send a message back to you, echoing the text from your message.

Sie können dieses Feature auch mithilfe des Beispielbots für den Facebook-Adapter testen, indem Sie dieappsettings.jsdatei mit den in den obigen Schritten beschriebenen Werten auffüllen.You can also test this feature using the sample bot for the Facebook adapter by populating the appsettings.json file with the same values described in the steps above.

Weitere InformationenSee also

  • Beispielcode:Sample code. Machen Sie sich anhand des Beispielbots Facebook-events mit der Botkommunikation mit Facebook Messenger vertraut.Use the Facebook-events sample bot to explore the bot communication with Facebook Messenger.