无法访问 microsoftTeams javascript 库中的媒体

Unable to access media inside microsoftTeams javascript library

我正在尝试在 Teams 应用程序的“个人”选项卡中使用 microsoftTeams Javascript 库。该应用程序是用 cshtml 和普通 javascript.

编写的

我能够在我的 javascript 文件中访问 microsoftTeams 对象本身。

例如:以下代码片段工作正常:

microsoftTeams.getContext(async (context) => userid = context.userObjectId );

但是我需要将 camera/gallery 集成到个人选项卡中的工作流程中。我按照本文档的说明进行操作:https://docs.microsoft.com/en-us/microsoftteams/platform/concepts/device-capabilities/mobile-camera-image-permissions.

我遇到一个问题,其中媒体对象在 microsoftTeams 上下文中未定义。

以下代码段是我尝试使用 sdk 的 selectmedia api 的方式。

function takePhotos() {
    var listOfSelectedImages = new Array();
    var imageProp = {
        sources: [microsoftTeams.media.Source.Camera, microsoftTeams.media.Source.Gallery],
        startMode: microsoftTeams.media.CameraStartMode.Photo,
        ink: false,
        cameraSwitcher: false,
        textSticker: false,
        enableFilter: true,
    };
    var mediaInput = {
        mediaType: microsoftTeams.media.MediaType.Image,
        maxMediaCount: 10,
        imageProps: imageProp
    };
    microsoftTeams.media.selectMedia(mediaInput, function (error, attachments) {
        if (error) {
            if (error.message) {
                alert(" ErrorCode: " + error.errorCode + error.message);
            }
            else {
                alert(" ErrorCode: " + error.errorCode);
            }
        }
        if (attachments)
        {
           // code for using atttachments here
        }
    });
}

在这一行 microsoftTeams.media.Source.Camera,我在浏览器和移动客户端中都收到错误消息,提示媒体未定义。

我已将 teams.min.js 文件包含在 .layout.cshtml 中,如下所示。

<script src="https://statics.teams.cdn.office.net/sdk/v1.11.0/js/MicrosoftTeams.min.js" integrity="sha384-SCVF3m7OvDKnfAilUzYn2yozEvBeP8n/Oq0yTH8VUI70J4AzrqR70jzjdQ6DI8s2" crossorigin="anonymous"></script>

是否需要包含其他内容才能访问媒体对象?

从评论部分添加答案以获得更多可见性:

由于 javascript 包版本冲突而出现此问题。现在已经解决了。