无法访问 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 包版本冲突而出现此问题。现在已经解决了。
我正在尝试在 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 包版本冲突而出现此问题。现在已经解决了。