Pergunta sobre facebook-graph-api – Encontrar tempo de expiração para um token de acesso

17

Existe alguma maneira de usar a api gráfica para descobrir quando um token de acesso a uma página ou um token de aplicativo irá expirar?

Sua resposta

6   a resposta
7

https://developers.facebook.com/tools/debug/access_token

Não usa a API Graph ... mas é uma ferramenta muito útil para depuração manual.

+ 1d não por ser uma resposta à pergunta do OP, mas é uma ferramenta útil e exatamente o que eu estava procurando. Kerry Jones
Eu quero uma maneira programática de checar ... aka, euquer para usar o gráfico api. Nix
1

funcionou comigo. Obtenha o token com seu aplicativo e cole-o no explorador de gráficos como o token a ser usado nas consultas. Clique na informação e veja a data de validade.exemplo de imagem

Eu espero que funcione para você também.

Por favor, adicione algum conteúdo do link Robert
Desculpe, mas eu não te peguei. O que você quer dizer ? Héctor3315
27

Atualizar: Há um novo ponto de extremidade da API para acessar informações sobre um token de acesso. Você pode encontrar informações aqui:Depurando Tokens de Acesso e Manipulando Erros

https://graph.facebook.com/debug_token?input_token=INPUT_TOKEN&access_token=ACCESS_TOKEN

input_token: o token de acesso para depuraraccess_token: seu token de acesso do aplicativo ou um token de acesso do usuário válido de um desenvolvedor do aplicativo.

-

Você deve tentar armazenar o tempo de expiração de cada token junto com o token de acesso ao obtê-lo. Para um token de acesso à página, isso significa armazenar o tempo de expiração do token de acesso do usuário. Se você quiser descobrir manualmente os tempos de expiração dos tokens que você tem hoje, você deve usarDepurador de token de acesso ferramenta. No entanto, você não deve confiar apenas nos tempos de expiração - na prática, muitos tokens expirarão muito antes do tempo de expiração.

Tokens de acesso a aplicativos nunca expirarão, a menos que a chave secreta do aplicativo seja redefinida.

Os tokens de acesso à página duram até 60 dias (5184000 segundos), mas o mais importante, eles duram tanto quanto o token de acesso do usuário que foi usado para adquiri-los. assimeles serão invalidados assim que o usuário de onde você tirou:

faz logout do FB.altera a senha.desautoriza sua aplicação.

Basicamente, quando você perder o token do usuário, perderá o token da página. Em vez disso, você deve recuperar tokens de acesso à página uma vez por token de acesso do usuário. Se você descartar um token de acesso do usuário, elimine o token da página.Você não deve tentar armazenar tokens de acesso à página por um período de tempo significativo. Em vez disso, você deve obtê-los quando necessário e esquecê-los quando a sessão de um usuário morrer.

Para obter um novo token de acesso à página:

<code>https://graph.facebook.com/PAGEID?fields=access_token&access_token=USER_ACCESS_TOKEN
</code>
@Nix AndrewF está correto, por favor, esteja ciente doRemoção da permissão offline_access phwd
Nem todos os tokens de usuário duram 60 dias (por exemplo, os tokens JS SDK duram 2 horas). Como descrevi acima, os tokens de acesso à página estão vinculados aos usuários e são invalidados ao mesmo tempo em que os tokens de acesso do usuário são invalidados. AndrewF
Eu não acho que isso é verdade, o acesso off-line não é mais, então todos os tokens duram no máximo 60 dias (se o fluxo de autenticação do lado do servidor ocorreu). Os tokens não expiram quando o usuário efetua logout. Eu preciso de uma maneira de usar meu token para descobrir se ele expira, não tenho certeza de como sua resposta me ajuda? Nix
Estou falando de fazer logout em nome do seu aplicativo usando o ponto de extremidade de logout da API. Por exemplo, FB.logout () ou $ facebook-> getLogoutUrl. Aqui está alguma documentação que explica o que estou falando:Manipulando Tokens de Acesso Inválidos e Expirados, FB.logout AndrewF
0

https://developers.facebook.com/docs/facebook-login/access-tokens/expiration-and-extension

Da página acima:

Os tokens de acesso na Web geralmente têm uma vida útil de cerca de duas horas, mas serão atualizados automaticamente quando necessário. Se você quiser usar tokens de acesso para aplicativos da Web de longa duração, especialmente do lado do servidor, precisará gerar um token de longa duração. Um token de longa duração geralmente dura cerca de 60 dias.

4

que cheguei a uma situação em que o doc do Facebook claramente não descreve o que está acontecendo:

sem datas de expiração ao solicitar um novo token de longa duração comfb_exchange_tokennenhuma data de expiração ao solicitar informações debug_token (expires_at = 0)ele responde com uma data de expiração ao redirecionar o usuário para a página de autenticação pela primeira vez, mas isso não ajuda, pois não posso extrair a data de expiração de longa duração nem ela responderá com essas informações pela segunda vez

A ferramenta de depuração aqui:https://developers.facebook.com/tools/debug/accesstoken diz "Expires: Never".

Perguntas relacionadas