Gmail API - 值格式'=获取标签google-api-dotnet-client / 1.25.0.0(gzip)'无效

时间:2022-12-16 15:25:21

I started exploring Gmail API. I followed the tutorial to show labels list (https://developers.google.com/gmail/api/quickstart/dotnet), and worked fine.

我开始探索Gmail API。我按照教程显示标签列表(https://developers.google.com/gmail/api/quickstart/dotnet),并且工作正常。

HELP is highly appreciated

帮助非常感谢

When I modified the flow of program, here it gives me the error. I cannot trace the error. It gives me error on Execute() method.

当我修改程序流程时,这里给出了错误。我无法追踪错误。它给出了Execute()方法的错误。

Error: The format of value '= Get Labels google-api-dotnet-client/1.25.0.0 (gzip)' is invalid

错误:值'=获取标签google-api-dotnet-client / 1.25.0.0(gzip)'的格式无效

here is my code.

这是我的代码。

public static class Labels
{
    public static void ListLabels ( )
    {
        try
        {
            var scope = new [] { GmailService.Scope.GmailReadonly };
            var service = Authorization.GetGmailService(scope, "AppName = Get Labels");

            if (service != null)
            {
                var requestListLabels = service.Users.Labels.List("me");

                var labelsList = requestListLabels.Execute().Labels;

                Console .WriteLine ( "\n\n---- Labels List ----" );
                if ( labelsList != null && labelsList .Count > 0 )
                {
                    foreach ( var label in labelsList )
                    {
                        Console .WriteLine ( "{0}", label .Name );
                    }
                }
                else
                {
                    Console .WriteLine ( "No labels available." );
                }
            }
            else
            {
                Console.WriteLine("Gmail service not available.");
            }
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.Message);
            throw;
        }
    }
}


public class Authorization
{
    public object GmailAuth2 ( string[] scopes )
    {
        try
        {
            using ( var stream = new FileStream ( "Secrets/client_secret.json", FileMode .Open, FileAccess .Read ) )
            {
                var clientsecrets = GoogleClientSecrets .Load ( stream ) .Secrets;

                var creds = GoogleWebAuthorizationBroker .AuthorizeAsync (
                    clientsecrets,
                    scopes,
                    "user",
                    CancellationToken .None,
                    new FileDataStore(this.GetType().ToString())
                ) .Result;

                return creds;
            }
        }
        catch ( Exception ex )
        {
            return ex .Message;
        }
    }

    public static GmailService GetGmailService(string[] scopes, string appname)
    {
        try
        {
            var authproblem = new Authorization().GmailAuth2(scopes);
            if (authproblem is string)
            {
                Console.WriteLine(authproblem);
                return null;
            }
            var srvc = new GmailService(new BaseClientService.Initializer
            {
                HttpClientInitializer = (UserCredential)authproblem,
                ApplicationName = appname
            });
            return srvc;
        }
        catch (Exception e)
        {
            Console.WriteLine(e);
            return null;
        }
    }
}

here is the MAIN function

这是MAIN功能

class GmailMailBox
{
    static void Main ( string [ ] args )
    {
        Labels.ListLabels();

        Console .WriteLine ( "Press key to exit ..." );
        Console .Read ( );
    }
}

gives me error of this. error picture

给我这个错误。错误图片

1 个解决方案

#1


3  

This is almost certainly due to the "AppName = Get Labels" application name. Change this to remove the spaces and '=', and I suspect this error will go away.

这几乎可以肯定是由于“AppName = Get Labels”应用程序名称。更改此选项以删除空格和'=',我怀疑此错误将消失。

#1


3  

This is almost certainly due to the "AppName = Get Labels" application name. Change this to remove the spaces and '=', and I suspect this error will go away.

这几乎可以肯定是由于“AppName = Get Labels”应用程序名称。更改此选项以删除空格和'=',我怀疑此错误将消失。