代码之家  ›  专栏  ›  技术社区  ›  pandemic

getAccessTokenAsync返回13001

  •  1
  • pandemic  · 技术社区  · 7 年前

    在成功上传清单之后,我现在正在努力使用Office JS API获取访问令牌。我跟踪了 the instructions 但目前为止运气不好。

    我得到的错误是 13001 - the user is not signed in Office . 但是,很明显,我已登录Office 365,因为我正在从Outlook Online运行加载项。

    代码:

    function showDialog() {
        getDataWithToken({ forceConsent: false });
    
    
        Office.context.ui.displayDialogAsync('https://localhost:3000/PluginApp/index.html',
        { height: 80, width: 80, displayInIframe: true}, function(asyncResult) {
            // ... code
        });
    
        function getDataWithToken(options) {
            Office.context.auth.getAccessTokenAsync(options,
            function (result) {
                debugger;
                if (result.status === "succeeded") {
                    //TODO1: Use the access token to get Microsoft Graph data.
                }
                else {
                    handleClientSideErrors(result);
                }
            });
        }
    
        function handleClientSideErrors(result) {
    
            switch (result.error.code) {
    
                case 13001:
                    getDataWithToken({ forceAddAccount: true });
                    break;
            }
        }
    

    打印屏幕如下:

    enter image description here

    其他答案:

    2) 在我的清单文件中,我定义了ExecuteFunction,以便在用户单击addin时运行该方法。我没有使用任务窗格,因为宽度太小。我想打开一个对话框,以便有更多的空间来渲染这些东西。因此,我无法在对话框打开之前获取信息,因为我获取的可能是敏感信息,所以整个代码都是在打开对话框之后。

    3) 我的公司使用主Office 365帐户。设置是混合的(本地AD邮箱和云邮箱。数据通过DirSync同步)。

    2 回复  |  直到 7 年前
        1
  •  1
  •   pandemic    7 年前

    我不知道这是否是一个修复程序,但我已经拼命按下了所有复选框(在portal.azure.com中->azure Active Directory->注册应用程序->myapp),现在我遇到了一个不同的错误。 enter image description here

        2
  •  0
  •   Rick Kirkham    7 年前
    1. 嗯,嗯。产品团队报告说,13001不应该出现在Office Online中。我会尽力证实这一点。

    2. 看起来您正在一个主要用于打开对话框的方法内调用getAccessTokenAsync。你能解释一下原因吗?使用API不需要创建对话框。从任务窗格调用API,如果用户未登录,Office本身将打开登录对话框。

    3. 此外,使用Microsoft帐户登录的用户可以访问Office Online,因此您使用它并不确保您登录到Office 365帐户。您使用的是Office 365帐户还是MSA帐户?

    4. 如果您还没有,请查看: Troubleshoot SSO in Add-ins .