首页 > 解决方案 > 通过 botbuilder-js SDK 对 MS Graph 进行 API 调用时出错

问题描述

我从 botbuilder 示例存储库中编写了msgraph 示例代码的部分 TypeScript 版本

我按照说明在 Azure 上进行了配置。我使用了 Azure AD 端点 2.0 版。

我使用了一个普通租户,并且能够通过机器人成功登录,但是当我尝试使用getMe(通过向机器人发送消息“我”)进行图形 API 调用时,

    async getMe(): Promise<User> {
        return await this.graphClient
            .api('/me')
            .get().then((res) => {
                return res;
            });
    }

我收到一个错误:

GraphError {
  statusCode: -1,
  code: null,
  message: null,
  requestId: null,
  date: 2019-05-13T06:21:12.721Z,
  body: null }

我希望通过displayName从图形 API 调用中获取字段,这将成功返回以下消息,

You are ${ me.displayName } and you report to nobody.

标签: node.jsazure-active-directorybotframeworkmicrosoft-graph-api

解决方案


将您的 package.json 中的 @microsoft/microsoft-graph-client 降级为 1.0.0 版本。该软件包的所有后续版本都存在一个错误,尚未更正。

为清楚起见,有几个更高版本似乎确实可以纠正此问题,随后会出现其他错误。根据我的经验,唯一有效的是原始版本。


推荐阅读