CalendarList: list

Retorna as agendas na lista de agendas do usuário. Faça um teste agora ou veja um exemplo.

Solicitação

Solicitação HTTP

GET https://www.googleapis.com/calendar/v3/users/me/calendarList

Parâmetros

Nome do parâmetro Valor Descrição
Parâmetros de consulta opcionais
maxResults integer Número máximo de entradas retornadas em uma página de resultados. Por padrão, o valor é de 100 entradas. O tamanho da página não pode ser maior do que 250 entradas. Opcional.
minAccessRole string O papel mínimo de acesso para o usuário nas entradas retornadas. Opcional. O padrão é "sem restrições".

Os valores aceitáveis são:
  • "freeBusyReader": o usuário pode ler as informações de disponível/ocupado.
  • "owner": o usuário pode ler e modificar eventos e listas de controle de acesso.
  • "reader": o usuário pode ler eventos que não são particulares.
  • "writer": o usuário pode ler e modificar eventos.
pageToken string Token que especifica qual página de resultados será retornada. Opcional.
showDeleted boolean Indica se entradas de listas de agendas excluídas devem ser incluídas no resultado. Opcional. O valor padrão é falso.
showHidden boolean Indica se entradas ocultas serão exibidas. Opcional. O valor padrão é falso.
syncToken string Token extraído do campo nextSyncToken retornado na última página de resultados da solicitação de lista anterior. Ele faz com que o resultado dessa solicitação de lista contenha apenas as entradas que foram alteradas desde então. Se apenas campos somente leitura, como propriedades da agenda ou ACLs, tiverem sido alterados, a entrada não será retornada. Todas as entradas excluídas e ocultas, desde a solicitação de lista anterior, sempre estarão no conjunto de resultados e não é permitido definir showDeleted e showHidden como "False".
Para garantir a consistência do estado do cliente, o parâmetro de consulta minAccessRole não pode ser especificado junto com nextSyncToken.
Se a syncToken expirar, o servidor responderá com um código de resposta 410 GONE e o cliente deverá limpar o armazenamento e fazer uma sincronização completa sem syncToken.
Saiba mais sobre a sincronização incremental.
Opcional. O padrão é retornar todas as entradas.

Autorização

Esta solicitação requer autorização com pelo menos um dos seguintes escopos:

Escopo
https://www.googleapis.com/auth/calendar.readonly
https://www.googleapis.com/auth/calendar

Para mais informações, consulte a página de autenticação e autorização.

Corpo da solicitação

Não forneça um corpo de solicitação com este método.

Resposta

Se for bem-sucedido, esse método retornará um corpo de resposta com esta estrutura:

{
  "kind": "calendar#calendarList",
  "etag": etag,
  "nextPageToken": string,
  "nextSyncToken": string,
  "items": [
    calendarList Resource
  ]
}
Nome da propriedade Valor Descrição Observações
kind string Tipo da coleção ("calendar#calendarList").
etag etag ETag da coleção.
nextPageToken string Token usado para acessar a próxima página deste resultado. Omitido se não houver outros resultados disponíveis. Nesse caso, nextSyncToken é fornecido.
items[] list Agendas que estão na lista de agendas do usuário
nextSyncToken string Token usado posteriormente para recuperar apenas as entradas que foram alteradas desde que esse resultado foi retornado. Omitido se mais resultados estiverem disponíveis. Nesse caso, nextPageToken é fornecido.

Exemplos

Observação: os exemplos de código disponíveis para esse método não representam todas as linguagens de programação compatíveis. Consulte a página de bibliotecas cliente para ver uma lista de linguagens compatíveis.

Java

Usa a biblioteca cliente de Java.

import com.google.api.services.calendar.Calendar;
import com.google.api.services.calendar.model.CalendarList;
import com.google.api.services.calendar.model.CalendarListEntry;

// ...

// Initialize Calendar service with valid OAuth credentials
Calendar service = new Calendar.Builder(httpTransport, jsonFactory, credentials)
    .setApplicationName("applicationName").build();

// Iterate through entries in calendar list
String pageToken = null;
do {
  CalendarList calendarList = service.calendarList().list().setPageToken(pageToken).execute();
  List<CalendarListEntry> items = calendarList.getItems();

  for (CalendarListEntry calendarListEntry : items) {
    System.out.println(calendarListEntry.getSummary());
  }
  pageToken = calendarList.getNextPageToken();
} while (pageToken != null);

Python

Usa a biblioteca cliente de Python.

page_token = None
while True:
  calendar_list = service.calendarList().list(pageToken=page_token).execute()
  for calendar_list_entry in calendar_list['items']:
    print calendar_list_entry['summary']
  page_token = calendar_list.get('nextPageToken')
  if not page_token:
    break

PHP

Usa a biblioteca cliente de PHP.

$calendarList = $service->calendarList->listCalendarList();

while(true) {
  foreach ($calendarList->getItems() as $calendarListEntry) {
    echo $calendarListEntry->getSummary();
  }
  $pageToken = $calendarList->getNextPageToken();
  if ($pageToken) {
    $optParams = array('pageToken' => $pageToken);
    $calendarList = $service->calendarList->listCalendarList($optParams);
  } else {
    break;
  }
}

Ruby

Usa a biblioteca de cliente Ruby.

page_token = nil
begin
  result = client.list_calendar_lists(page_token: page_token)
  result.items.each do |e|
    print e.summary + "\n"
  end
  if result.next_page_token != page_token
    page_token = result.next_page_token
  else
    page_token = nil
  end
end while !page_token.nil?

Confira!

Use o APIs Explorer abaixo para chamar esse método em dados ativos e ver a resposta.