0

我正在 azure (v3) 上开发一个 web 应用程序机器人,我正在使用异步方法,但我似乎无法解决 SyntaxError: Unexpected token function 的问题。

我尝试将我的 nodeJS 从 6.9.4 更新到 8.9,但这没有用。我也跑了 npm i -g azure-functions-core-tools@core 但仍然没有。

class OAuthHelpers {
/**
 * Enable the user to schedule meeting and send an email attachment via the bot.
 * @param {TurnContext} turnContext 
 * @param {TokenResponse} tokenResponse 
 * @param {*} emailAddress The email address of the recipient
 */

async function createevent(turnContext, tokenResponse, emailAddress) {
    if (!turnContext) {
        throw new Error('OAuthHelpers.createevent(): `turnContext` cannot be undefined.');
    }
    if (!tokenResponse) {
        throw new Error('OAuthHelpers.createevent(): `tokenResponse` cannot be undefined.');
    }


    var client = new SimpleGraphClient(tokenResponse.token);

    // Calls the Graph API with the subject and content message...
    await client.createevent(
        emailAddress,
        `Lunch`,
        `I will be taking everyone to lunch as a reward for your hardwork.`
    );

    // Success message...
    await turnContext.sendActivity(`Success! I have scheduled a meeting with you and ${ emailAddress } have created an event on each of their calendars.`);
    } 

我希望机器人正常运行,但它不能,因为 azure 由于某种原因无法检测到异步功能。任何帮助表示赞赏

4

1 回答 1

1

OAuthHelpers 类需要“simple-graph-client”,其中包含您希望使用的所有方法。在您的代码从中提取的原始示例 BotBuilder-Sample 24.bot-authentication-msgraph中,如果您导航到 simple-graph-client.js 文件,您将看到调用的方法(即 sendMail、getRecentMail、getMe 和 getManager ) 在 OAuthHelpers.js 文件中。

如果您还没有,您将需要包含一个用于创建事件的方法。这又从 OAuthHelpers.js 文件中调用,作为机器人对话框的一部分。

如果没有更多代码,很难知道什么是什么,但我的猜测是令牌正在传递到您的 createevent 方法中,但是,由于该方法(可能)不作为图形 api 调用存在,它不知道该怎么做用它。

查看以下链接以获取指导:

  • 显示前 3 个日历事件的 GET 调用的MS Graph示例
  • MS Graph 单元测试示例,但演示了一个事件 POST
  • 创建事件的API参考
  • 添加有关创建重复事件的信息...可能会很有用

希望有帮助!

于 2019-01-18T02:55:59.977 回答