Google Agenda como manipulador padrão do protocolo webcal para arquivos iCal / ICS

20

Gostaria que o Google Calendar abra URIs com o esquema Webcal (wikipedia) (entrega de arquivos ICS), semelhante à forma como o Gmail pode ser definido como o manipulador padrão de mailto:links.

Mais especificamente, gostaria que o Google Agenda os importasse para minha agenda principal. (Você pode importar manualmente um arquivo ICS no Google Agenda clicando na pequena seta ao lado de Outros calendários, escolhendo Importar calendário na lista suspensa, navegando até o arquivo .ICS e escolhendo Importar.)

Não sei se isso é possível, mas espero que alguém tenha uma ótima idéia.

Rasmus
fonte

Respostas:

14

Crómio

O navegador chromium oferece essa opção quando você faz login pela primeira vez no Google Agenda:

O Google Agenda no navegador Chromium se oferece para lidar com protocolos da Webcal

Se você respondeu acidentalmente Noa esta pergunta, pressione o botão da Wrenchbarra de ferramentas e vá para Settings. Clique em Show advanced settings, encontre Content settings...(logo após o cabeçalho Privacidade) e encontre o Manage handlersbotão. Clique no Xpróximo ao protocolo ignorado que você deseja excluir. Como alternativa, você pode digitar na protocol handlerscaixa de pesquisa nas configurações do Chromium.

Desfazer ignorar manipulador de protocolo no navegador Chromium

Raposa de fogo

Eu encontrei este post no stackexchange, que explica como obter a mesma coisa no Firefox, mas isso não funciona para mim no firefox 12 e 15: funciona para mim se eu desabilitar a opção Nunca salvar histórico (modo de navegação privada):

Acesse o site do Google Agenda e pressione Ctrl+Shift+K.

Cole isso após o sinal>:

navigator.registerProtocolHandler("webcal","https://www.google.com/calendar/render?cid=%s","Google Calendar");

Pressione a tecla Enter e clique no Add applicationbotão que deve aparecer abaixo da barra de ferramentas.

Console do Firefox

Firefox aceita protocolo hanlder

Pode ser necessário alternar a gecko.handlerService.allowRegisterFromDifferentHostopção about:configpara trueantes de tentar isso (se o Google redireciona para um domínio do Google local). Lembre-se de retorná-lo para false após chamar a função registerProtocolHandler, porque sites maliciosos podem explorar isso. Veja detalhes aqui .

jeremija
fonte
Pessoalmente, estou procurando a opção para Chrome / Chromium. Caso um não tenha reagido adequadamente no primeiro login, existem opções em aberto?
Rasmus
Sim, você pode excluir um manipulador de protocolo ignorado. Veja minha resposta editada!
jeremija 4/09/12
1
Descobri que preciso colocar javascript:navigator.registerProtocolHandler("webcal","https://www.google.com/calendar/render?cid=%s","Google Calendar");a barra de localização no Google Chrome para que ele funcionasse.
Mikko Rantalainen
Eu tentei a solução Firefox, mas ao clicar em um arquivo .ics, recebo o pop-up para armazenar ou abrir com o gedit (como é um arquivo VCS / ICS) alguma dica sobre isso? btw superuser.com/a/442494/216033 menciona uma solução semelhante.
TiloBunt 28/08/2013
aqui um ics teste (encontrado durante a minha googling por soluções) calendar-a-googleproductforums-com.googlegroups.com/attach/...
TiloBunt
15

Nas versões mais recentes do Chromium / Chrome, você precisa fazer login no Google Agenda e clicar no ícone de losango sobreposto na barra de endereço.

Captura de tela

Selecione "Usar o Google Agenda" e clique em Concluído. Isso registrará o Google Agenda como manipulador de links da Webcal.

Nota:
pode ser necessário configurar o Chromium para permitir que os sites se tornem manipuladores de protocolo padrão. Você pode fazer isso através de:

  1. Configurações avançadas -> Privacidade, Configurações de conteúdo -> Manipuladores
  2. Selecione "Permitir que sites solicitem que se tornem manipuladores padrão de protocolos"
peonicles
fonte
Não funciona no chrome ...
Banee Ishaque K 02/11
1

Desde que me deparei com a mesma pergunta do OP e as coisas mudaram desde que a resposta aceita foi postada, pensei em compartilhar minhas descobertas. As instruções a seguir são principalmente para o Firefox, mas, além de poucas diferenças, elas também devem funcionar no Chrome.

[2019-03-08] Atualização: reflete o novo comportamento do Firefox

Porque usar

    javascript:window.navigator.registerProtocolHandler("webcal","https://calendar.google.com/calendar/r?cid=%s","Google Calendar");

no console do Firefox resulta em uma

SecurityError: permissão negada para adicionar https://www.google.com/calendar/render?cid=%s como manipulador de protocolo

hoje em dia, aqui está a nova maneira de "fazer acontecer":

  1. Navegue para about:config, confirmando o risco, clicando no botão
  2. Digite webcal, filtrando a lista para itens do tipo gecko.handlerService.schemes.webcal.[...].
  3. Clique no Editbotão à direita do [...].nameitem escolhido (uma vez que 30 Boxes foi abandonada com o Firefox 67 , optei por [...].0.name)
  4. Digite o nome desejado, por exemplo, Google Calendare clique em Save.
  5. Clique no Editbotão do [...].uriTemplateitem correspondente , ou seja, aquele logo abaixo do item editado.
  6. Cole o URL https://calendar.google.com/calendar/r?cid=%se clique em Save.
  7. Ir para as opções do Firefox para aplicações associadas clicando consecutivamente , ⚙ Options, ⚙ Generalopções de menu e, em seguida, role para baixo até o Applicationsparágrafo.
  8. Pesquise a lista webcaldigitando-a na caixa de pesquisa logo acima da lista ou por rolagem.
  9. Clique no menu suspenso na metade direita da entrada e selecione Use Google Calendar(ou qualquer outro nome que você escolheu na instrução nº 4).

Calendários de teste: https://www.webcal.fi/en/calendars.php

HTH. Caso contrário, deixe um comentário abaixo.

Yoda
fonte
Sigai todas as etapas, mas ainda não funciona para mim no FF 50.1.0 / Ubuntu x64. Tudo está como você disse, mas as ics ainda invocam diálogos com a manipulação de conteúdo (salve ou execute o aplicativo). Eu tentei navigator.registerContentHandlermétodo, mas ainda sem resultados, URI / Gcal não está sendo registrado para mime tipo:text/calendar
b1r3k
1
Desculpe, mas parece que o Google ou o Mozilla mudaram alguma coisa e, portanto, não funcionam no momento. No entanto, você ainda pode adicionar manualmente uma entrada para gecko.handlerService.schemes.webcal.X.namee gecko.handlerService.schemes.webcal.X.uriTemplate(onde X é um número maior que o atual mais alto) na about:configURL. depois, você pode continuar com a instrução nº 5.
Yoda
Eu apenas tentei isso no Google Chrome mais recente, sem sorte. Eu consegui que o manipulador se registrasse, mas não teve sorte ao carregar um arquivo ICS no Google Cal com esse manipulador registrado.
Craig Lambie
@CraigLambie Primeiro, é muito triste encontrar minha resposta sendo " -1ed" por usuários infelizes do Chrome. Em segundo lugar, nunca disse que "as instruções também funcionam no Chrome". Em vez disso, afirmei claramente : " além das pequenas diferenças, eles devem funcionar no Chrome"! Por fim, como nunca usarei o Chrome, simplesmente não me importo com a forma como ele lida com os links da webcal - para o Firefox funciona e essa foi a razão por trás de toda essa resposta desde o início - para soluções baseadas em Chromium, consulte as respostas de @peonicles ou @jeremija e peça mais correções no Chrome.
Yoda