1

Ich möchte Kalender-API aus meiner Anwendung verwenden und dafür habe ich Client erstellt, aber es funktioniert nur in localhost, es funktioniert nicht auf dem Server. Ich folge den Schritten in Google Calendar API dotnet gegeben.Google Kalender-API funktioniert nicht auf Server

Können Sie mir bitte dabei helfen.

Code ist wie.

public List<CalendarEvent> GetEvents(long clientId) 
    { 
     UserCredential credential; 
     string pathResponse = System.Web.HttpContext.Current.Server.MapPath("../GoogleApiResponses/calendarRes_" + clientId + ".json"); 

     using (var stream = 
      new FileStream(path, FileMode.Open, FileAccess.Read)) 
     { 
      credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
       GoogleClientSecrets.Load(stream).Secrets, 
       _scopes, 
       "user", 
       CancellationToken.None, 
       new FileDataStore(pathResponse, true)).Result; 
     } 

     // Create Google Calendar API service. 
     var service = new CalendarService(new BaseClientService.Initializer() 
     { 
      HttpClientInitializer = credential, 
      ApplicationName = _applicationName, 
     }); 

     // Define parameters of request. 
     EventsResource.ListRequest request = service.Events.List("primary"); 
     request.TimeMin = DateTime.Now; 
     request.ShowDeleted = false; 
     request.SingleEvents = true; 
     request.MaxResults = 10; 
     request.OrderBy = EventsResource.ListRequest.OrderByEnum.StartTime; 

     // List events. 
     Events events = request.Execute(); 
     Console.WriteLine("Upcoming events:"); 
     if (events.Items != null && events.Items.Count > 0) 
     { 
      var eventTrim = events.Items.Select(GetEventTrim).ToList(); 
      //events.Items[0].Id 
      return eventTrim; 
     } 
     else 
     { 
      return new List<CalendarEvent>(); 
     } 
    } 
+0

Bitte geben Sie Ihren Code in Ihrer Frage ein. Auch ist es nicht klar, was du meinst von "es funktioniert nur in localhost nach dem Veröffentlichen". Funktioniert es auf localhost oder auf Server? – YakovL

+1

@YakovL Ich habe meine Frage, bereitgestellten Code bearbeitet und es funktioniert nicht auf dem Server. Es funktioniert gut auf localhost. – Nirmal

+0

haben Sie die Redirect-URL für den Server in der Google Developer Console hinzugefügt? Sind Sie sicher, dass der Server Zugriff auf das PathResponse-Verzeichnis hat? Ist das Azure? – DaImTo

Antwort

0

Sie müssen die Anmeldeinformationen google developers console bearbeiten gehen und die Umleitung URI für den Server hinzuzufügen.

Wenn Sie den ausgegrauten Text lesen, sagt es Ihnen, dies zu tun.

enter image description here