Descrição
Use a API chrome.cookies para consultar e modificar cookies e receber notificações quando eles mudarem.
Permissões
cookiesPara usar a API Cookies, declare a permissão "cookies" no
manifesto junto com as permissões de host para todos os hosts cujos cookies você quer
acessar. Exemplo:
{
  "name": "My extension",
  ...
  "host_permissions": [
    "*://*.google.com/"
  ],
  "permissions": [
    "cookies"
  ],
  ...
}
Particionamento
Os cookies particionados permitem que um site marque determinados cookies para serem associados à origem do frame de nível superior. Isso significa que, por exemplo, se o site A estiver incorporado usando um iframe nos sites B e C, as versões incorporadas de um cookie particionado de A poderão ter valores diferentes em B e C.
Por padrão, todos os métodos de API operam em cookies não particionados. A propriedade
partitionKey pode ser usada para substituir esse comportamento.
Para detalhes sobre o impacto geral do particionamento para extensões, consulte Armazenamento e cookies.
Exemplos
Você pode encontrar um exemplo simples de uso da API Cookies no diretório examples/api/cookies. Para outros exemplos e ajuda para ver o código-fonte, consulte Exemplos.
Tipos
Cookie
Representa informações sobre um cookie HTTP.
Propriedades
- 
    domíniostring O domínio do cookie (por exemplo, "www.google.com", "example.com"). 
- 
    expirationDatenumber optional A data de validade do cookie como o número de segundos desde a época do UNIX. Não fornecido para cookies de sessão. 
- 
    hostOnlybooleano Verdadeiro se o cookie for somente do host (ou seja, o host de uma solicitação precisa corresponder exatamente ao domínio do cookie). 
- 
    httpOnlybooleano Verdadeiro se o cookie estiver marcado como HttpOnly (ou seja, o cookie é inacessível aos scripts do lado do cliente). 
- 
    nomestring O nome do cookie. 
- 
    partitionKeyCookiePartitionKey opcional Chrome 119+A chave de partição para ler ou modificar cookies com o atributo "Partitioned". 
- 
    caminhostring O caminho do cookie. 
- 
    sameSiteChrome 51 ou mais recenteO status do cookie no mesmo site (ou seja, se o cookie é enviado com solicitações entre sites). 
- 
    segurobooleano Verdadeiro se o cookie estiver marcado como "Secure" (ou seja, o escopo dele é limitado a canais seguros, geralmente HTTPS). 
- 
    sessãobooleano Verdadeiro se o cookie for de sessão, em vez de um cookie persistente com uma data de validade. 
- 
    storeIdstring O ID do armazenamento de cookies que contém este cookie, conforme fornecido em getAllCookieStores(). 
- 
    valorstring O valor do cookie. 
CookieDetails
Detalhes para identificar o cookie.
Propriedades
- 
    nomestring O nome do cookie a ser acessado. 
- 
    partitionKeyCookiePartitionKey opcional Chrome 119+A chave de partição para ler ou modificar cookies com o atributo "Partitioned". 
- 
    storeIdstring opcional O ID do armazenamento de cookies em que o cookie será procurado. Por padrão, o armazenamento de cookies do contexto de execução atual será usado. 
- 
    urlstring O URL associado ao cookie a ser acessado. Esse argumento pode ser um URL completo. Nesse caso, todos os dados após o caminho do URL (por exemplo, a string de consulta) são ignorados. Se as permissões de host para esse URL não forem especificadas no arquivo de manifesto, a chamada de API vai falhar. 
CookiePartitionKey
Representa a chave de partição de um cookie particionado.
Propriedades
- 
    hasCrossSiteAncestorbooleano opcional Chrome 130 ou mais recenteIndica se o cookie foi definido em um contexto entre sites. Isso impede que um site de nível superior incorporado em um contexto entre sites acesse cookies definidos pelo site de nível superior em um contexto do mesmo site. 
- 
    topLevelSitestring opcional O site de nível superior em que o cookie particionado está disponível. 
CookieStore
Representa um armazenamento de cookies no navegador. Por exemplo, uma janela do modo de navegação anônima usa um armazenamento de cookies separado de uma janela normal.
Propriedades
- 
    IDstring O identificador exclusivo do armazenamento de cookies. 
- 
    tabIdsnumber[] Identificadores de todas as guias do navegador que compartilham esse armazenamento de cookies. 
FrameDetails
Detalhes para identificar o frame.
Propriedades
- 
    documentIdstring opcional O identificador exclusivo do documento. Se frameId e/ou tabId forem fornecidos, eles serão validados para corresponder ao documento encontrado pelo ID do documento fornecido. 
- 
    frameIdnumber optional O identificador exclusivo do frame na guia. 
- 
    tabIdnumber optional O identificador exclusivo da guia que contém o frame. 
OnChangedCause
O motivo da mudança no cookie. Se um cookie foi inserido ou removido por uma chamada explícita para "chrome.cookies.remove", "cause" será "explicit". Se um cookie foi removido automaticamente devido à expiração, a "causa" será "expired". Se um cookie foi removido por ter sido substituído por uma data de validade já expirada, a "causa" será definida como "expired_overwrite". Se um cookie foi removido automaticamente devido à coleta de lixo, a "causa" será "evicted". Se um cookie foi removido automaticamente devido a uma chamada "set" que o substituiu, a "causa" será "overwrite". Planeje sua resposta de acordo.
Enumeração
"despejado" 
 
"expired" 
 
"explícito" 
 
"expired_overwrite" 
 
"overwrite" 
 
SameSiteStatus
O estado "SameSite" de um cookie (https://tools.ietf.org/html/draft-west-first-party-cookies). "no_restriction" corresponde a um cookie definido com "SameSite=None", "lax" a "SameSite=Lax" e "strict" a "SameSite=Strict". "unspecified" corresponde a um cookie definido sem o atributo SameSite.
Enumeração
"no_restriction" 
 
"lax" 
 
"strict" 
 
"unspecified" 
 
Métodos
get()
chrome.cookies.get(
details: CookieDetails,
): Promise<Cookie | undefined>
Recupera informações sobre um único cookie. Se houver mais de um cookie com o mesmo nome para o URL especificado, será retornado aquele com o caminho mais longo. Para cookies com o mesmo comprimento de caminho, o cookie com o horário de criação mais antigo será retornado.
Parâmetros
- 
    detalhes
Retorna
- 
            Promise<Cookie | undefined> Chrome 88 ou mais recente
getAll()
chrome.cookies.getAll(
details: object,
): Promise<Cookie[]>
Recupera todos os cookies de um único armazenamento de cookies que correspondem às informações fornecidas. Os cookies retornados serão classificados, com aqueles que têm o caminho mais longo primeiro. Se vários cookies tiverem o mesmo comprimento de caminho, aqueles com o horário de criação mais antigo serão os primeiros. Esse método só recupera cookies de domínios para os quais a extensão tem permissões de host.
Parâmetros
- 
    detalhesobjeto Informações para filtrar os cookies que estão sendo recuperados. - 
    domíniostring opcional Restringe os cookies recuperados àqueles cujos domínios correspondem ou são subdomínios deste. 
- 
    nomestring opcional Filtra os cookies por nome. 
- 
    partitionKeyCookiePartitionKey opcional Chrome 119+A chave de partição para ler ou modificar cookies com o atributo "Partitioned". 
- 
    caminhostring opcional Restringe os cookies recuperados àqueles cujo caminho corresponde exatamente a essa string. 
- 
    segurobooleano opcional Filtra os cookies pela propriedade "Secure". 
- 
    sessãobooleano opcional Filtra cookies de sessão e persistentes. 
- 
    storeIdstring opcional O armazenamento de cookies de onde os cookies serão recuperados. Se omitido, o armazenamento de cookies do contexto de execução atual será usado. 
- 
    urlstring opcional Restringe os cookies recuperados àqueles que corresponderiam ao URL especificado. 
 
- 
    
Retorna
- 
            Promise<Cookie[]> Chrome 88 ou mais recente
getAllCookieStores()
chrome.cookies.getAllCookieStores(): Promise<CookieStore[]>
Lista todos os repositórios de cookies atuais.
Retorna
- 
            Promise<CookieStore[]> Chrome 88 ou mais recente
getPartitionKey()
chrome.cookies.getPartitionKey(
details: FrameDetails,
): Promise<object>
A chave de partição do frame indicado.
Parâmetros
- 
    detalhes
Retorna
- 
            Promise<object> 
remove()
chrome.cookies.remove(
details: CookieDetails,
): Promise<object | undefined>
Exclui um cookie por nome.
Parâmetros
- 
    detalhes
Retorna
- 
            Promise<object | undefined> Chrome 88 ou mais recente
set()
chrome.cookies.set(
details: object,
): Promise<Cookie | undefined>
Define um cookie com os dados fornecidos. Pode substituir cookies equivalentes, se eles existirem.
Parâmetros
- 
    detalhesobjeto Detalhes sobre o cookie que está sendo definido. - 
    domíniostring opcional O domínio do cookie. Se omitido, o cookie se torna um cookie somente do host. 
- 
    expirationDatenumber optional A data de validade do cookie como o número de segundos desde a época do UNIX. Se omitido, o cookie se torna um cookie de sessão. 
- 
    httpOnlybooleano opcional Se o cookie deve ser marcado como HttpOnly. O padrão é "false". 
- 
    nomestring opcional O nome do cookie. Vazio por padrão se omitido. 
- 
    partitionKeyCookiePartitionKey opcional Chrome 119+A chave de partição para ler ou modificar cookies com o atributo "Partitioned". 
- 
    caminhostring opcional O caminho do cookie. O padrão é a parte do caminho do parâmetro de URL. 
- 
    sameSiteSameSiteStatus opcional Chrome 51 ou mais recenteO status do cookie no mesmo site. O padrão é "unspecified", ou seja, se for omitido, o cookie será definido sem especificar um atributo SameSite. 
- 
    segurobooleano opcional Se o cookie deve ser marcado como "Secure". O padrão é "false". 
- 
    storeIdstring opcional O ID do armazenamento de cookies em que o cookie será definido. Por padrão, o cookie é definido no armazenamento de cookies do contexto de execução atual. 
- 
    urlstring O URI de solicitação a ser associado à definição do cookie. Esse valor pode afetar os valores padrão de domínio e caminho do cookie criado. Se as permissões de host para esse URL não forem especificadas no arquivo de manifesto, a chamada de API vai falhar. 
- 
    valorstring opcional O valor do cookie. Vazio por padrão se omitido. 
 
- 
    
Retorna
- 
            Promise<Cookie | undefined> Chrome 88 ou mais recente
Eventos
onChanged
chrome.cookies.onChanged.addListener(
callback: function,
)
Acionada quando um cookie é definido ou removido. Como um caso especial, observe que a atualização das propriedades de um cookie é implementada como um processo de duas etapas: primeiro, o cookie a ser atualizado é removido por completo, gerando uma notificação com "cause" de "overwrite" . Depois disso, um novo cookie é gravado com os valores atualizados, gerando uma segunda notificação com "cause" "explicit".
Parâmetros
- 
    callbackfunção O parâmetro callbacktem esta aparência:(changeInfo: object) => void - 
    changeInfoobjeto - 
    causaO motivo da mudança no cookie. 
- 
    biscoitoInformações sobre o cookie que foi definido ou removido. 
- 
    removidobooleano Verdadeiro se um cookie foi removido. 
 
- 
    
 
-