当我执行以下代码时:
public static Event createDashyboardCalendarEvent()
{
static string[] Scopes = { CalendarService.Scope.CalendarReadonly };
static string ApplicationName = "Outlook Google Syncher";
Event createdEvent = null;
try
{
UserCredential credential;
using (var stream = new FileStream( "client_secret.json", FileMode.Open, FileAccess.Read ))
{
string credPath = System.Environment.GetFolderPath( System.Environment.SpecialFolder.Personal );
credPath = Path.Combine( credPath, ".credentials/calendar-dotnet-quickstart.json" );
Console.WriteLine( "credPath:\"{0}\"", credPath );
credential = GoogleWebAuthorizationBroker.AuthorizeAsync( GoogleClientSecrets.Load( stream ).Secrets, Scopes, "user",
CancellationToken.None, new FileDataStore( credPath, true ) ).Result;
}
// Create Google Calendar API service.
var service = new CalendarService( new BaseClientService.Initializer( )
{
HttpClientInitializer = credential,
ApplicationName = ApplicationName,
} );
Event myEvent = new Event
{
Summary = "Test appointment",
Location = "Here",
Start = new EventDateTime( )
{
DateTime = new DateTime( 2016, 3, 9, 10, 0, 0 ),
TimeZone = "Australia/Brisbane"
},
End = new EventDateTime( )
{
DateTime = new DateTime( 2016, 3, 9, 10, 30, 0 ),
TimeZone = "Australia/Brisbane"
},
Recurrence = new String[]
{
"RRULE:FREQ=DAILY;COUNT=2"
}
};
String calendarId = "primary";
Console.WriteLine( "calling service.Events.Insert( newEvent, calendarId )" );
EventsResource.InsertRequest request = service.Events.Insert( myEvent, calendarId );
createdEvent = request.Execute( );
Console.WriteLine( "Event created: {0}", createdEvent.HtmlLink );
}
catch (Exception ex)
{
Console.WriteLine( "Exception:{0}", ex );
Console.WriteLine( "returning NULL" );
return null;
}
Console.WriteLine( "Success. Returning" );
return createdEvent;
}
}
我得到一个例外:
Exception:The service calendar has thrown an exception: Google.GoogleApiException: Google.Apis.Requests.RequestError
Insufficient Permission [403]
Errors [
Message[Insufficient Permission] Location[ - ] Reason[insufficientPermissions] Domain[global]
]
at Google.Apis.Requests.ClientServiceRequest`1.Execute() in .....
缺少什么?我可以毫无问题地执行服务service.Events.List。
是否有人可以看到为什么抛出特定异常的地方?
谢谢
答案 0 :(得分:0)
事实证明我使用了错误的授权。我没有使用服务授权方法。
现在可以使用