Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Wichtig
Das TeamsFx SDK wird von Microsoft nicht mehr zum Erstellen von Microsoft 365 Copilot-Erweiterungen, Microsoft 365-Agents oder modernen Teams-App-Szenarien unterstützt. Für Neuentwicklungen sollte TeamsFx nicht verwendet werden. Das SDK befindet sich derzeit im Veraltet-Modus und erhält bis September 2026 Support nur von der Community auf GitHub.
Verwenden Sie für alle neuen Teams-Agents und -Apps das Teams-SDK und die Teams-Entwickler-CLI.
Die Microsoft Teams JavaScript-Clientbibliothek (TeamsJS) kann Ihnen helfen, gehostete Erfahrungen in Teams, der Microsoft 365-App und Outlook zu erstellen, in denen Ihre App-Inhalte in einem iFrame gehostet werden. Die Bibliothek ist hilfreich für die Entwicklung von Apps mit den folgenden Teams-Funktionen:
Ab Version 2.0.0wird die vorhandene TeamsJS-Bibliothek (@microsoft/teams-jsoder einfach TeamsJS) umgestaltet, damit Teams-Apps zusätzlich zu Microsoft Teams auch in Outlook und der Microsoft 365-App ausgeführt werden können. Aus funktionaler Sicht unterstützt die neueste Version von TeamsJS alle vorhandenen (v.1.x.x) Teams-App-Funktionen und fügt die optionale Möglichkeit hinzu, Teams-Apps in Outlook und der Microsoft 365-App zu hosten.
Hier finden Sie die Versionsanleitung für verschiedene App-Szenarien:
| App-Typ | TeamsJS-Version | App-Manifestversion | Nächste Schritte |
|---|---|---|---|
| Teams-Apps über Outlook und Microsoft 365 erweitert | TeamsJS v2.19.0 oder höher | v1.13 oder höher | Erweitern von Teams-Apps auf Microsoft 365 oder Erstellen einer neuen Microsoft 365-App |
| Vorhandene reine Teams-Apps | Update auf TeamsJS v2.19.0 oder höher* | v1.12 oder höher** | Grundlegendes zur TeamsJS-Abwärtskompatibilität und zum Update auf TeamsJS v2.0 |
| Neue reine Teams-Apps | TeamsJS v2.19.0 oder höher | v1.12 oder höher** | Erstellen einer neuen Teams-App mit dem Microsoft 365 Agents-Toolkit |
* Verwenden Sie das neueste TeamsJS, um von den neuesten Verbesserungen und neuer Featureunterstützung zu profitieren, einschließlich reiner Teams-Apps. TeamsJS v1.13.0 enthält keine neuen Features oder Verbesserungen. Neue App-Übermittlungen und -Updates erfordern jetzt TeamsJS v2.19.0 oder höher. Weitere Informationen finden Sie unter TeamsJS-Bibliothek.
** Wenn Sie Ihre persönliche Registerkarte oder Nachrichtenerweiterungs-App von Teams auf Manifestversion 1.13 oder höher aktualisieren, wird sie standardmäßig für alle Microsoft 365-Hosts verfügbar. Um ein teilweises Laden in nicht unterstützten Hosts zu vermeiden und eine konsistente Benutzererfahrung zu gewährleisten, definieren Sie Laufzeitanforderungen im Manifest, um zu steuern, wo und wie Ihre App angezeigt wird. Weitere Informationen finden Sie unter Angeben der Anforderungen an die Microsoft 365-Hostlaufzeit im App-Manifest.
Im restlichen Teil dieses Artikels werden Sie durch die Struktur und die neuesten Updates der TeamsJS-Bibliothek geführt.
Microsoft 365-Support (Ausführen von Teams-Apps in Microsoft 365 und Outlook)
TeamsJS v.2.0 führt die Möglichkeit ein, bestimmte Arten von Teams-Apps über das gesamte Microsoft 365-Ökosystem hinweg auszuführen. Die anderen Microsoft 365-Anwendungshosts (einschließlich Microsoft 365-App und Outlook) für Teams-Apps unterstützen eine Teilmenge der Anwendungstypen und Funktionen, die Sie für die Teams-Plattform erstellen können. Diese Unterstützung wird im Laufe der Zeit erweitert. Eine Zusammenfassung der Hostunterstützung für Teams-Apps finden Sie unter TeamsJS-Funktionsunterstützung in Microsoft 365.
Verbessern der Ladezeitleistung mit JavaScript Tree Shaking
Ab Version 2.31.0 und höher ist die TeamsJS-Bibliothek vollständig baumschüttelbar. Tree Shaking ist eine JavaScript-Optimierung, die nicht verwendeten Code eliminiert. Durch die Verwendung von Tree Shaking beim Bündeln einer App für die Bereitstellung können Sie die Paketgröße reduzieren, was zu einem schnelleren Download und einer verbesserten Ladezeit führt.
So verwenden Sie Baumschütteln mit TeamsJS
Um die Vorteile von Tree Shaking beim Bündeln Ihres App-Pakets zu nutzen, verwenden Sie einen Bundler, der Tree Shaking unterstützt, z. B. Webpack oder Rollup. Wenn Tree Shaking aktiviert ist, wird der gesamte nicht verwendete TeamsJS-Code automatisch im endgültigen Bundle entfernt. Betrachten Sie beispielsweise den folgenden Code:
export function scanBarCode(barCodeConfig: BarCodeConfig): Promise<string> {
//implementation omitted
}
export function hasPermission(): Promise<boolean>{
//implementation omitted
}
export function requestPermission(): Promise<boolean>{
//implementation omitted
}
export function isSupported(): boolean {
//implementation omitted
}
Angenommen, das barCode-Modul in TeamsJS enthält die vier Funktionen hasPermission(), isSupported(), requestPermission(), und scanBarCode(BarCodeConfig). Wenn eine App nur die hasPermission() Funktion verwendet, werden nach dem Tree Shaking die anderen drei Funktionen aus dem App-Bundle ausgeschlossen. Dadurch wird sichergestellt, dass Apps so einfach wie möglich bleiben und nur den Code enthalten, den sie benötigen.
Wichtig
Beachten Sie bei der Verwendung von Baumschütteln die folgenden Überlegungen:
- Wenn Ihre App CDN verwendet, um die TeamsJS-Bibliothek zu nutzen, kann die verwendete Bibliotheksversion nicht im Baum schüttelt werden.
- Der TeamsJS-Bibliothekstyp wurde von UMD (Universal Module Definition) in ESM (ECMAScript Modules) geändert, um das Schütteln von Bäumen zu unterstützen. Die UMD-Version wird jedoch weiterhin angeboten. Wenn ein Bundler ESM unterstützt, wird das baumschüttelbare ESM-Paket von TeamsJS verwendet, andernfalls wird das UMD-Paket verwendet.
Neuigkeiten in TeamsJS Version 2.x.x
Es gibt zwei wesentliche Änderungen zwischen TeamsJS 1.x.x-Versionen und v.2.0.0 und höher:
Rückruffunktionen geben jetzt Promise-Objekte zurück. Die meisten Funktionen mit Rückrufparametern in TeamsJS v.1.12 wurden modernisiert, um ein JavaScript Promise-Objekt zurückzugeben, um die Handhabung asynchroner Vorgänge und die Lesbarkeit des Codes zu verbessern.
APIs sind jetzt in Funktionen organisiert. Sie können sich Funktionen als logische Gruppierungen von APIs vorstellen, die ähnliche Funktionen bereitstellen, z. B
authentication. ,dialog,chatundcalendar. Jeder Namespace stellt eine separate Funktion dar.
Tipp
Sie können die Erweiterung Microsoft 365 Agents Toolkit (früher als Teams Toolkit bezeichnet) für Microsoft Visual Studio Code verwenden, um den Updateprozess von TeamsJS v.2.0 für eine vorhandene Teams-App zu vereinfachen.
Abwärtskompatibilität
Sobald Sie mit dem Verweisen @microsoft/teams-js@2.0.0 aus einer vorhandenen Teams-App beginnen (oder später), werden Veraltungswarnungen für alle Codeaufruf-APIs angezeigt, die geändert werden.
Eine API-Übersetzungsebene (Zuordnung von v.1 zu v.2 TeamsJS-API-Aufrufen) wird bereitgestellt, damit vorhandene Teams-Apps weiterhin in Teams arbeiten können, bis sie den Anwendungscode aktualisieren können, um die TeamsJS v.2-API-Muster zu verwenden.
Authentifizierung
In TeamsJS Version 2.11.0 oder höher müssen Apps einen dritten URL-Parameter hostRedirectUrl(, in der Authentifizierungs-API) bereitstellen, um Benutzer nach Abschluss der Authentifizierung zum richtigen Client umzuleiten. Der hostRedirectUrl Authentifizierungsparameter ist erforderlich, damit Ihr Client in allen Microsoft 365-Hostanwendungen unterstützt werden kann. Apps, die in älteren Versionen implementiert sind TeamsJS , unterstützen Teams nach diesem Update nur, da die oauthRedirectmethod Abfrageparameter und authId an den App-Server des Drittanbieters übergeben werden.
Weitere Informationen zum Authentifizierungsparameter finden Sie unter Verwenden externer OAuth-Anbieter.
Teams-Apps, die im gesamten Microsoft 365-Ölkosystem ausgeführt werden können
Im Folgenden finden Sie die Anforderungen, um die Ausführung einer vorhandenen Teams-App in Outlook und Microsoft 365 zu aktivieren:
Abhängigkeit von TeamsJS-Version 2.x.x (
@microsoft/teams-js@2.0.0) oder höher.Ändern Sie den vorhandenen Anwendungscode entsprechend den in diesem Artikel beschriebenen erforderlichen Änderungen.
Aktualisieren Sie Ihr App-Manifest (früher als Teams-App-Manifest bezeichnet) auf Version 1.13 oder höher.
Weitere Informationen finden Sie unter Erweitern von Teams-Apps in Microsoft 365.
In Zusagen konvertierte Rückrufe
Hinweis
Die getTabInstances API ist in Teams Mobile nicht implementiert.
Teams-APIs, die zuvor einen Rückrufparameter akzeptiert haben, werden aktualisiert, um ein JavaScript Promise-Objekt zurückzugeben. Dazu gehören die folgenden APIs:
app.getContext, app.initialize, appInstallDialog.openAppInstallDialog, app.openLink, authentication.authenticate, authentication.getAuthToken, authentication.getUser, authentication.registerAuthenticationHandlers was removed to support using Promises, calendar.openCalendarItem, calendar.composeMeeting, call.startCall, chat.getChatMembers, conversations.openConversation, location.getLocation, location.showLocation, mail.openMailItem, mail.composeMail, pages.backStack.navigateBack, pages.navigateToTab, pages.tabs.getMruTabInstances, pages.tabs.getTabInstances, pages.getConfig, pages.config.setConfig, pages.backStack.navigateBack, people.selectPeople, teams.fullTrust.getConfigSetting, teams.fullTrust.joinedTeams.getUserJoinedTeams
Sie müssen die Art und Weise aktualisieren, wie Ihr Code eine dieser APIs aufruft, um Zusagen zu verwenden. Wenn Ihr Code z. B. eine Teams-API wie folgt aufruft:
Dieser Code:
import microsoftTeams from "@microsoft/teams-js";
microsoftTeams.getContext((context) => { /* ... */ });
Muss aktualisiert werden auf:
import { app } from "@microsoft/teams-js";
app.getContext().then((context) => {
/*...*/
});
... oder das entsprechende async/await-Muster:
import { app } from "@microsoft/teams-js";
async function example() {
const context = await app.getContext();
/*...*/
}
Tipp
Wenn Sie das Agents-Toolkit verwenden, um auf TeamsJS v.2.0 zu aktualisieren, werden die erforderlichen Updates für Sie mit TODO Kommentaren in Ihrem Clientcode gekennzeichnet.
Die Cloudübergreifende Kommunikation über SDK ist aus Sicherheitsgründen eingeschränkt. Daher sind Teams, die von der Domäne 21Vianet betrieben werden, nicht in validOriginsenthalten. Um die Funktion einer App in Teams, die von 21Vianet betrieben werden, zu ermöglichen, geben Sie die von 21Vianet betriebene Teams-Domäne während der SDK-Initialisierung in Ihrer App-Bereitstellung mithilfe des validMessageOrigins-Parameters an.
import { app } from '@microsoft/teams-js';
app.initialize(["https://teams.microsoftonline.cn"]);
In Funktionen unterteilte APIs
Eine Funktion ist eine logische Gruppierung (über Namespaces) von APIs, die ähnliche Funktionen bereitstellen. Sie können sich Microsoft Teams, Outlook und die Microsoft 365-App als Hosts für Ihre Registerkarten-App vorstellen. Ein Host unterstützt eine bestimmte Funktion, wenn er alle in dieser Funktion definierten APIs unterstützt. Ein Host kann eine Funktion nicht teilweise implementieren. Funktionen können feature- oder inhaltsbasiert sein, z. B. authentication (Authentifizierung) oder dialog (Dialogfeld). Es gibt auch Funktionen für Anwendungstypen wie Seiten und andere Gruppierungen.
Ab TeamsJS v.2.0 werden APIs als Funktionen in einem JavaScript-Namespace definiert, dessen Name der erforderlichen Funktion entspricht. Wenn eine App beispielsweise auf einem Host ausgeführt wird, der die dialog-Funktion (Dialogfeld) unterstützt, kann die App sicher APIs aufrufen, z. B. dialog.open (zusätzlich zu anderen dialogfeldbezogenen APIs, die im Namespace definiert sind). Wenn eine App versucht, eine API aufzurufen, die auf diesem Host nicht unterstützt wird, generiert die API eine Ausnahme.
Tipp
Überprüfen Sie die Hostunterstützung einer bestimmten Funktion zur Laufzeit, indem Sie für diese Funktion (Namespace) die Funktion isSupported() aufrufen.
Ableiten Ihrer App-Umgebung
Sie können die Hostunterstützung einer bestimmten Funktion zur Laufzeit überprüfen, indem Sie die Funktion isSupported() für diese Funktion (Namespace) aufrufen. Es wird zurückgegeben true , ob es unterstützt wird und false wenn nicht, und Sie können das App-Verhalten entsprechend anpassen. Auf diese Weise kann Ihre App Benutzeroberflächen und Funktionen in Hosts nutzen, die diese unterstützen, kann aber weiterhin auch für Hosts ausgeführt werden, die diese nicht unterstützen.
Der Hostname, auf dem Context Ihre App ausgeführt wird, wird als HostName-Enumerationswert der Schnittstelle () app.Context.app.host.nameangezeigt. Sie können dies zur Laufzeit abfragen, indem Sie getContext. Für den klassischen Teams-Client kann dieser Wert als unbekannt oder undefiniert zurückgegeben werden. Ordnen Sie in diesem Fall diese Werte klassischen Teams zu.
Der {hostName}URL-Platzhalterwert ist ebenfalls verfügbar. Es wird jedoch empfohlen, den hostName-Mechanismus mit Diskretion zu verwenden.
- Gehen Sie nicht basierend auf dem HostName-Eigenschaftswert davon aus, dass bestimmte Funktionen auf einem Host verfügbar sind oder nicht verfügbar sind. Überprüfen Sie stattdessen die Unterstützung der Funktion (
isSupported). - Sie sollten hostNamenicht verwenden, um API-Aufrufe Gates zuzuweisen. Überprüfen Sie stattdessen die Unterstützung der Funktion (
isSupported). - Sie sollten hostNameverwenden, um das Design Ihrer Anwendung basierend auf dem Host, auf dem sie ausgeführt wird, zu unterscheiden. Sie können das Lila von Microsoft Teams beispielsweise als Hauptakzentfarbe verwenden, wenn die App in Teams ausgeführt wird, und das Blau von Outlook, wenn sie in Outlook ausgeführt wird.
- Sie sollten hostNameverwenden, um Nachrichten, die dem Benutzer angezeigt werden, basierend auf dem Host, auf dem die App ausgeführt wird, zu unterscheiden. Zeigen Sie z. B. Verwalten Sie Ihre Aufgaben in Microsoft 365 , wenn Sie in Microsoft 365 im Web ausführen, und Verwalten Sie Ihre Aufgaben in Teams , wenn Sie in Teams ausführen.
Tipp
Die bewährte Methode besteht darin, die Laufzeitanforderungen und Abhängigkeiten Ihrer App hostagnostisch anzugeben, anstatt Ihren App-Code mit hostspezifischer Logik speziell zu verschreiben. Weitere Informationen finden Sie unter Angeben der Laufzeitanforderungen für Microsoft 365 Host in Ihrem App-Manifest.
Namespaces
Ab TeamsJS v.2.0 werden APIs mithilfe von Namespaces in Funktionen unterteilt. Einige neue Namespaces von besonderer Bedeutung sind app, pages, dialog und teamsCore.
Namespace app(App)
Der app Namespace enthält APIs der obersten Ebene, die für die allgemeine App-Nutzung in Teams, der Microsoft 365-App und Outlook erforderlich sind. Alle APIs aus verschiedenen anderen TeamsJS-Namespaces werden ab TeamsJS v.2.0 in den app Namespace verschoben:
Ursprünglicher Namespace global (window) |
Neuer Namespace app |
|---|---|
executeDeepLink |
app.openLink (umbenannt) |
initialize |
app.initialize |
getContext |
app.getContext |
registerOnThemeChangeHandler |
app.registerOnThemeChangeHandler |
Ursprünglicher Namespace appInitialization |
Neuer Namespace app |
|---|---|
appInitialization.notifyAppLoaded |
app.notifyAppLoaded |
appInitialization.notifySuccess |
app.notifySuccess |
appInitialization.notifyFailure |
app.notifyFailure |
appInitialization.notifyExpectedFailure |
app.notifyExpectedFailure |
appInitialization.FailedReason-Enumeration |
app.FailedReason |
appInitialization.ExpectedFailureReason-Enumeration |
app.ExpectedFailureReason |
appInitialization.IFailedRequest-Enumeration |
app.IFailedRequest |
appInitialization.IExpectedFailureRequest-Enumeration |
app.IExpectedFailureRequest |
Namespace pages (Seiten)
Der pages Namespace enthält Funktionen zum Ausführen und Navigieren von Webseiten in verschiedenen Microsoft 365-Hosts, einschließlich Teams, Microsoft 365 App und Outlook. Er enthält auch mehrere Unterfunktionen, die als Unternamespaces implementiert sind.
Ursprünglicher Namespace global (window) |
Neuer Namespace pages |
|---|---|
setFrameContext |
pages.setCurrentFrame (umbenannt) |
initializeWithFrameContext |
pages.initializeWithFrameContext |
registerFocusEnterHandler |
pages.registerFocusEnterHandler |
registerFullScreenHandler |
pages.registerFullScreenHandler |
returnFocus |
pages.returnFocus |
shareDeepLink |
pages.shareDeepLink |
Ursprünglicher Namespace settings |
Neuer Namespace pages |
|---|---|
settings.getSettings |
pages.getConfig (umbenannt) |
pages.tabs
Ursprünglicher Namespace global (window) |
Neuer Namespace pages.tabs |
|---|---|
getTabInstances |
pages.tabs.getTabInstances |
getMruTabInstances |
pages.tabs.getMruTabInstances |
Ursprünglicher Namespace navigation |
Neuer Namespace pages.tabs |
|---|---|
navigation.navigateToTab |
pages.tabs.navigateToTab |
pages.config
Ursprünglicher Namespace settings |
Neuer Namespace pages.config |
|---|---|
settings.setSettings |
pages.config.setConfig (umbenannt) |
settings.setValidityState |
pages.config.setValidityState |
settings.initialize |
pages.config.initialize |
settings.registerOnSaveHandler |
pages.config.registerOnSaveHandler |
settings.registerOnRemoveHandler |
pages.config.registerOnRemoveHandler |
settings.Settings-Schnittstelle |
pages.config.Config (umbenannt) |
settings.SaveEvent-Schnittstelle |
pages.config.SaveEvent (umbenannt) |
settings.RemoveEvent-Schnittstelle |
pages.config.RemoveEvent (umbenannt) |
settings.SaveParameters-Schnittstelle |
pages.config.SaveParameters (umbenannt) |
settings.SaveEventImpl-Schnittstelle |
pages.config.SaveEventImpl (umbenannt) |
Ursprünglicher Namespace global (window) |
Neuer Namespace pages.config |
|---|---|
registerChangeConfigHandler |
pages.config.registerChangeConfigHandler (umbenannt) |
pages.backStack
Ursprünglicher Namespace navigation |
Neuer Namespace pages.backStack |
|---|---|
navigation.navigateBack |
pages.backStack.navigateBack |
Ursprünglicher Namespace global (window) |
Neuer Namespace pages.backStack |
|---|---|
registerBackButtonHandler |
pages.backStack.registerBackButtonHandler |
pages.appButton
Ursprünglicher Namespace global (window) |
Neuer Namespace pages.appButton |
|---|---|
registerAppButtonClickHandler |
pages.appButton.onClick (umbenannt) |
registerAppButtonHoverEnterHandler |
pages.appButton.onHoverEnter (umbenannt) |
registerAppButtonHoverLeaveEnter |
pages.appButton.onHoverLeave (umbenannt) |
FrameContext-Schnittstelle |
pages.appButton.FrameInfo (umbenannt) |
Namespace dialog (Dialogfeld)
Hinweis
Es wird empfohlen, einen Dialog in Ihrem eigenen Frame zu rendern, z. B. mithilfe des Fluent V9-Dialogfelds , oder die Microsoft Teams JavaScript-Clientbibliothek (TeamsJS) zu verwenden, um ein Teams-Dialogfeld mithilfe einer adaptiven Karte oder einer verschachtelten <iframe>.
Der TeamsJS-Aufgabennamespace wird in Dialog umbenannt, und die folgenden APIs werden umbenannt:
Ursprünglicher Namespace tasks |
Neuer Namespace dialog |
|---|---|
tasks.startTask |
dialog.url.open, dialog.url.bot.open, dialog.adaptiveCard.open, dialog.adaptiveCard.bot.open |
tasks.submitTask |
dialog.url.submit (umbenannt) |
tasks.updateTask |
dialog.update (umbenannt) |
tasks.TaskModuleDimension-Enumeration |
dialog.DialogDimension (umbenannt) |
tasks.TaskInfo-Schnittstelle |
dialog.DialogInfo (umbenannt) |
Darüber hinaus ist diese Funktion in zwei Hauptunterfunktionen unterteilt, dialog.url für HTML-basierte Dialoge und dialog.adaptiveCard für adaptive kartenbasierte Dialoge, mit weiteren Unternamespaces für Bot-basierte Dialoge.
Namespace teamsCore
Um die TeamsJS-Bibliothek auf die Ausführung anderer Microsoft 365-Hosts wie der Microsoft 365-App und Outlook zu generalisieren, werden teamsspezifische Funktionen (ursprünglich im globalen Namespace) in einen teamsCore-Namespace verschoben:
Ursprünglicher Namespace global (window) |
Neuer Namespace teamsCore |
|---|---|
enablePrintCapability |
teamsCore.enablePrintCapability |
print |
teamsCore.print |
registerOnLoadHandler |
teamsCore.registerOnLoadHandler |
registerBeforeUnloadHandler |
teamsCore.registerBeforeUnloadHandler |
Aktualisierungen der Context-Schnittstelle
Die Context Schnittstelle wird in den app Namespace verschoben und aktualisiert, um ähnliche Eigenschaften zu gruppieren, um eine bessere Skalierbarkeit zu erzielen, da sie zusätzlich zu Teams in Outlook und der Microsoft 365-App ausgeführt wird.
Es wird eine neue Eigenschaft app.Context.app.host.name hinzugefügt, mit der Registerkarten je nach Hostanwendung unterschiedlicher Benutzererfahrung unterscheiden können.
Sie können die Änderungen auch visualisieren, indem Sie die transformLegacyContextToAppContext Funktion in der TeamsJS-Quelle (app.ts-Datei) Version 2.x.x überprüfen.
Ursprünglicher Name in der Context-Schnittstelle |
Neuer Speicherort in app.Context |
|---|---|
appIconPosition |
app.Context.app.iconPositionVertical |
appLaunchId |
NICHT IN TeamsJS v.2.0 |
appSessionId |
app.Context.app.sessionId |
channelId |
app.Context.channel.id |
channelName |
app.Context.channel.displayName |
channelRelativeUrl |
app.Context.channel.relativeUrl |
channelType |
app.Context.channel.membershipType |
chatId |
app.Context.chat.id |
defaultOneNoteSectionId |
app.Context.channel.defaultOneNoteSectionId |
entityId |
app.Context.page.id |
frameContext |
app.Context.page.frameContext |
groupId |
app.Context.team.groupId |
hostClientType |
app.Context.app.host.clientType |
hostTeamGroupId |
app.Context.channel.ownerGroupId |
hostTeamTenantId |
app.Context.channel.ownerTenantId |
isCallingAllowed |
app.Context.user.isCallingAllowed |
isFullScreen |
app.Context.page.isFullScreen |
isMultiWindow |
app.Context.page.isMultiWindow |
isPSTNCallingAllowed |
app.Context.user.isPSTNCallingAllowed |
isTeamArchived |
app.Context.team.isArchived |
locale |
app.Context.app.locale |
loginHint |
app.Context.user.loginHint |
meetingId |
app.Context.meeting.id |
osLocaleInfo |
app.Context.app.osLocaleInfo |
parentMessageId |
app.Context.app.parentMessageId |
ringId |
app.Context.app.host.ringId |
sessionId |
app.Context.app.host.sessionId |
sourceOrigin |
app.Context.page.sourceOrigin |
subEntityId |
app.Context.page.subPageId |
teamId |
app.Context.team.internalId |
teamSiteDomain |
app.Context.sharepointSite.domain |
teamSitePath |
app.Context.sharepointSite.path |
teamSiteUrl |
app.Context.sharepointSite.url |
teamTemplateId |
app.Context.team.templateId |
teamType |
app.Context.team.type |
tenantSKU |
app.Context.user.tenant.teamsSku |
tid |
app.Context.user.tenant.id |
upn |
app.Context.user.userPrincipalName |
userClickTime |
app.Context.app.userClickTime |
userFileOpenPreference |
app.Context.app.userFileOpenPreference |
userLicenseType |
app.Context.user.licenseType |
userObjectId |
app.Context.user.id |
userTeamRole |
app.Context.team.userRole |
| – | app.Context.app.host.name |
Aktualisieren auf TeamsJS Version 2.0
Die einfachste Möglichkeit, Ihre Teams-App mit TeamsJS Version 2.0.x zu aktualisieren, ist die Verwendung der Agents Toolkit-Erweiterung für Visual Studio Code. In diesem Abschnitt werden Sie durch die dazu erforderlichen Schritte geführt. Wenn Sie Ihren Code lieber manuell aktualisieren möchten, finden Sie in den Abschnitten "Rückrufe, die in Zusagen konvertiert wurden, und APIs, die in Funktionen organisiert sind ", weitere Informationen zu erforderlichen API-Änderungen.
1. Installieren Sie die neueste Agents Toolkit Visual Studio Code-Erweiterung
Suchen Sie im Visual Studio Code Extensions Marketplace nach Microsoft 365 Agents Toolkit und installieren Sie die neueste Version.
2. Aktualisieren von TeamsJS-Referenzen
Damit sie in Outlook und der Microsoft 365-App ausgeführt werden kann, muss Ihre App vom npm-Paket@microsoft/teams-js@2.0.0 (oder höher) abhängen. Wenn Sie diese Schritte manuell ausführen möchten und weitere Informationen zu den API-Änderungen benötigen, lesen Sie die Abschnitte In Zusagen konvertierte Rückrufe und APIs, die in Funktionen unterteilt sind.
- Stellen Sie sicher, dass Sie über das neueste Agents-Toolkit (Version 2.10.0 oder höher) verfügen.
- Öffnen Sie die Befehlspalette:
Ctrl+Shift+P - Führen Sie den Befehl
Teams: Upgrade Teams JS SDK references to support Outlook and Microsoft 365 appsaus.
Nach Abschluss aktualisiert das Hilfsprogramm Ihre package.json Datei mit der Abhängigkeit von TeamsJS Version 2.x.x (@microsoft/teams-js@2.0.0 oder höher), und Ihre *.js/.ts und *.jsx/.tsx werden aktualisiert mit:
-
package.jsonVerweise auf TeamsJS Version 2.x.x - Importanweisungen für TeamsJS Version 2.x.x
- Funktions-, Enumerations- und Schnittstellenaufrufe von TeamsJS Version 2.x.x
-
TODO-Kommentarerinnerungen zum Überprüfen von Bereichen, die von Änderungen an der Kontextschnittstelle betroffen sein könnten -
TODOKommentarerinnerungen zum Konvertieren von Rückruffunktionen in Zusagen
Wichtig
Code in HTML-Dateien wird von den Upgrade-Tools nicht unterstützt und erfordert manuelle Änderungen.
3. Aktualisieren des App-Manifests (optional)
Wenn Sie eine Teams-App für die Ausführung in der Microsoft 365-App und Outlook aktualisieren, müssen Sie auch das App-Manifest auf Version 1.13 oder höher aktualisieren. Sie können dies ganz einfach mit dem Agents Toolkit oder manuell tun.
- Öffnen Sie die Befehlspalette:
Ctrl+Shift+P - Ausführen von Teams: Upgrade des Teams-Manifests zur Unterstützung von Outlook und Microsoft 365-Apps und wählen Sie Ihre App-Manifestdatei aus. Änderungen werden vorgenommen.
Wenn Sie das Agents-Toolkit zum Erstellen Ihrer persönlichen App verwendet haben, können Sie es auch verwenden, um die Änderungen an Ihrer App-Manifestdatei zu überprüfen und Fehler zu identifizieren. Öffnen Sie die Befehlspalette Ctrl+Shift+P , und suchen Sie Teams: Manifestdatei validieren, oder wählen Sie die Option aus dem Menü "Bereitstellung" des Agents-Toolkits aus (suchen Sie nach dem Teams-Symbol auf der linken Seite von Visual Studio Code).
Nächste Schritte
- Verwenden Sie die TeamsJS-Bibliotheksreferenz , um mit der TeamsJS-Bibliothek zu beginnen.
- Überprüfen Sie das Änderungsprotokoll auf die neuesten Updates für TeamsJS.