Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 控制台应用程序中的Microsoft Graph.NET客户端库和InvalidAuthenticationToken_C#_Onedrive_Microsoft Graph Api - Fatal编程技术网

C# 控制台应用程序中的Microsoft Graph.NET客户端库和InvalidAuthenticationToken

C# 控制台应用程序中的Microsoft Graph.NET客户端库和InvalidAuthenticationToken,c#,onedrive,microsoft-graph-api,C#,Onedrive,Microsoft Graph Api,我是在一个控制台应用程序中编写代码的。我正在尝试证明一种从我的个人OneDrive帐户获取松散文档列表的方法。我的代码抛出遇到了一些问题: InvalidAuthenticationToken:CompactToken解析失败,错误代码为-2147184118 在做了一点研究之后,看起来这个错误是由于将OAuth令牌作为OAuth令牌而不是bear发送的 由于我在控制台应用程序中工作,我一直很难找到有关如何正确访问Microsoft Graph或OneDrive SDK的任何文档或教程 有没有办

我是在一个控制台应用程序中编写代码的。我正在尝试证明一种从我的个人
OneDrive
帐户获取松散文档列表的方法。我的代码抛出遇到了一些问题:

InvalidAuthenticationToken:CompactToken解析失败,错误代码为-2147184118

在做了一点研究之后,看起来这个错误是由于将OAuth令牌作为OAuth令牌而不是bear发送的

由于我在控制台应用程序中工作,我一直很难找到有关如何正确访问
Microsoft Graph
OneDrive SDK
的任何文档或教程

有没有办法解决这个问题

非工作代码: 我还添加了一个堆栈跟踪图像:

此外,我还提供了一张网络流量的屏幕截图:


您能提供GetAsync()调用的请求和响应的净化跟踪吗?@MichaelMainer MSFT我添加了一个堆栈跟踪-这是您要找的吗?很抱歉,我不清楚。你能通过Fiddler提供一个请求和响应的截图吗?@MichaelMainer-MSFT-啊,好的-我已经为你添加了这个屏幕截图。我应该以一种更宽容的方式来更新我正在做的事情。我正在尝试创建一个控制台应用程序,该应用程序与允许我从用户的
OneDrive
帐户访问列表松散文件一起工作。之所以使用
Graph SDK
,是因为它具有
drive
功能,因为我找不到通过
OneDrive SDK
访问它的清晰方法。你有没有让它工作过?我有完全相同的错误。显然,这是因为在标题中,OAuth令牌是以“誓言”而不是“承载者”的形式发送的,但我不知道如何在GraphServiceClient中解决这个问题
[STAThread]
static void Main(string[] args)
{
    var graphserviceClient = new GraphServiceClient(new DelegateAuthenticationProvider(
        (requestMessage) =>
        {
            requestMessage.Headers.Authorization = 
                new AuthenticationHeaderValue("bearer", AccessToken);

            return Task.FromResult(0);

        }));

    Task.Run(async () =>
    {
        try
        {
            var drive = await graphserviceClient.Me.Drive.Root.Request().GetAsync();
        }
        catch (Exception e)
        {
            Console.WriteLine(e);
            throw;
        }

    }).GetAwaiter().GetResult();

}