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 é 100 entradas. O tamanho da página nunca pode ser maior que 250 entradas. Opcional.
minAccessRole string A função de acesso mínima do usuário nas entradas retornadas. Opcional. O padrão é sem restrição.

Os valores aceitáveis são:
  • "freeBusyReader": o usuário pode ler as informações de disponibilidade/ocupação.
  • "owner": o usuário pode ler e modificar eventos e acessar listas de controle.
  • "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 Define se as entradas da lista de agendas excluídas serão incluídas no resultado. Opcional. O valor padrão é falso.
showHidden boolean Indica se as entradas ocultas serão mostradas. Opcional. O valor padrão é falso.
syncToken string Token recebido do campo nextSyncToken retornado na última página de resultados da solicitação de lista anterior. Isso faz com que o resultado dessa solicitação de lista contenha apenas as entradas que mudaram desde então. Se apenas campos somente leitura, como propriedades de calendário 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 nem showHidden como Falso.
Para garantir a consistência do estado do cliente, o parâmetro de consulta minAccessRole não pode ser especificado com nextSyncToken.
Se o syncToken expirar, o servidor vai responder com um código de resposta 410 GONE, e o cliente precisará limpar o armazenamento e realizar uma sincronização completa sem nenhum 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
https://www.googleapis.com/auth/calendar.calendarlist
https://www.googleapis.com/auth/calendar.calendarlist.readonly

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 coletânea ("calendar#calendarList").
etag etag ETag da coletânea.
nextPageToken string Token usado para acessar a próxima página desse resultado. Omitido se não houver mais resultados disponíveis. Nesse caso, nextSyncToken será fornecido.
items[] list Agendas que estão na lista de agendas do usuário.
nextSyncToken string Token usado em um momento posterior para recuperar apenas as entradas que mudaram desde que o resultado foi retornado. Omitido se outros resultados estiverem disponíveis, caso em que nextPageToken será 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.