2016-05-13 11 views
0

Ich benutze diesen Code und bekomme die Ereignisse aus dem Kalender und es funktioniert gut, aber ich möchte die Ereignisse von Google-Konten Kalender erhalten. Zum Beispiel möchte ich die (Deepakcando90 @ Gmail. com) Google Kalender Konten Ereignisse auch? Ich weiß, dass es möglich ist, aber ich weiß nicht, wie ich es umsetzen soll.Google Kalender Ereignisse erhalten

 public static void readCalendarEvent(Context context) throws ParseException { 
    ContentResolver contentResolver = context.getContentResolver(); 
    Calendar calendar = Calendar.getInstance(); 
    String dtstart = "dtstart"; 
    String dtend = "dtend"; 


    SimpleDateFormat displayFormatter = new SimpleDateFormat("EEEE, MMMM dd, yyyy"); 

    stime=displayFormatter.format(calendar.getTime());  

    SimpleDateFormat startFormatter = new SimpleDateFormat("MM/dd/yy"); 
    String dateString = startFormatter.format(calendar.getTime()); 

    long after = calendar.getTimeInMillis(); 
    SimpleDateFormat formatterr = new SimpleDateFormat("hh:mm:ss MM/dd/yy"); 
    Calendar endOfDay = Calendar.getInstance(); 
    Date dateCCC = formatterr.parse("47:59:59 " + dateString); 
    endOfDay.setTime(dateCCC); 



    cursor = contentResolver.query(Uri.parse("content://com.android.calendar/events"), (new String[] { "calendar_id", "title", "description", "dtstart", "dtend", "eventLocation" }), "(" + dtstart + ">" + after + " and " + dtend + "<" + endOfDay.getTimeInMillis() + ")", null, "dtstart ASC"); 
    gCalendar = new ArrayList<GoogleCalendar>(); 
    try { 
     System.out.println("Count=" + cursor.getCount()); 

     if (cursor.getCount() > 0) { 

      System.out.println("the control is just inside of the cursor.count loop"); 
      while (cursor.moveToNext()) { 
       GoogleCalendar googleCalendar = new GoogleCalendar(); 
       gCalendar.add(googleCalendar); 
       int calendar_id = cursor.getInt(0); 
       googleCalendar.setCalendar_id(calendar_id); 
       String title = cursor.getString(1); 
       googleCalendar.setTitle(title); 
       String description = cursor.getString(2); 
       googleCalendar.setDescription(description); 
       String dtstart1 = cursor.getString(3); 
       googleCalendar.setDtstart(dtstart1); 
       String dtend1 = cursor.getString(4); 
       googleCalendar.setDtend(dtend1); 
       String eventlocation = cursor.getString(5); 
       googleCalendar.setEventlocation(eventlocation); 

      } 
     } 
    } catch (AssertionError ex) { 
     ex.printStackTrace(); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
} 

}

Antwort

0

Sie können OAuth 2.0 service accounts versuchen richtig die Benutzerkonten zuzugreifen. Mit einem Dienstkonto können Sie die Identität von Benutzern annehmen und in ihrem Namen Vorgänge ausführen.

Zugriff auf Domain-Kalender als App

Eine App kann Domain eigenen Kalender zugreifen, ohne Benutzerdaten erforderlich ist, wenn er authentifiziert einen service account verwenden. Der Dienstaccount muss den erforderlichen Zugriff über domain-wide authority delegation haben. Um die Identität eines Benutzerkontos anzunehmen, geben Sie die E-Mail-Adresse des Benutzerkontos mit der setServiceAccountUser-Methode der GoogleCredential-Fabrik an.

Ich hoffe, es hilft. Goodluck :)

Verwandte Themen