Erro de permissões do Facebook 200
-
26-12-2019 - |
Pergunta
Criamos um aplicativo que possui as seguintes permissões:
"Informações do aplicativo":está ao vivo "Status and Review Page":está ao vivo
Possui as seguintes permissões:
Detalhes do aplicativo - Inglês (Reino Unido)
e-mail
gerenciar_páginas
perfil público
publicar_ações
amigos_usuários
Novamente todos aprovados.
Então, por que o aplicativo relata erros e retorna o seguinte erro:"(#200) Erro de permissões".
Não podemos ver com toda a nossa vida o que poderia estar faltando.Este é um aplicativo v2 que foi criado no mês passado.
Obrigado
Antony
Solução
OK - eu não posso reivindicar crédito por este era um colega, mas a questão era que o velho SDK estava chamando GetLoginurl.Esta função tem as permissões FB como parte da chamada que foram alteradas - nós tínhamos publicado_stream, mas agora precisamos publicados.Obrigado por toda ajuda e espero que alguém ache isso útil.
Outras dicas
Se você receber erros de permissão, o usuário não concedeu permissão ao seu aplicativo para executar uma ação.Observe que os usuários podem rejeitar qualquer permissão, exceto o perfil básico para qualquer aplicativo v2.
Você pode testar todos os URLs, tokens de acesso ou IDs de ação do Open Graph com o Facebook Debugger:https://developers.facebook.com/tools/debug
Se você inserir seu token de acesso aqui, poderá ver quais permissões são concedidas por um usuário.Você também pode ligar /me/permissions
para ver quais permissões são concedidas por um usuário, você pode encontrar a documentação sobre isso aqui:https://developers.facebook.com/docs/graph-api/reference/v2.0/user/permissions
Ao publicar nas páginas não usuários. Três coisas que podem te trocar ...
- .
-
Você precisará: páginas_show_list, gerenciamento_pages, publicar permissões no console de desenvolvedores: HTTPS: // desenvolvedores .facebook.com / apps
-
Você precisará definir o escopo ao fazer oauth como:
args= { 'Redirect_URI': ' http://www.yourdomain.com/facebook/callback/ ', 'Client_id': settings.facebook_id, 'Escopo': 'Public_Profile, páginas_show_list, manage_pages, publish_pages', } Retornar HTTPRESPSerTireto ("% s?% s"% (' https://www.facebook.com/dialog / oauth ', urllib.urlencode (args)))
-
Você precisará usar o token de acesso à página, não o token de acesso ao usuário. Para obter o token de acesso de página, você precisará ligar:
-
Então faça o post usando o token de acesso à página:
args= {'access_token': self.facebook_page_token} Se mensagem: args ['mensagem']= mensagem Se link: args ['link']= link Se nome: args ['nome']= nome Se Imagem: Args ['Picture']= Imagem Se legenda: args ['legenda']= legenda Se lugar: args ['place']= lugar Resposta= json.loads (urllib.urlopen (" https://graph.facebook.com/% s / feed / "% self.facebook_page_id, urllib.urlencode (args)). Leia ())
https://graph.facebook.com/me/accounts/ / p >.
O que retornará o nome, o ID e o token de acesso (esta é a página uma).
É bom ir. Você não precisa de Publish_Ass para postagem de página.