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”应用程序名称。更改此选项以删除空格和'=',我怀疑此错误将消失。