J'ai essayé avec un exemple de code que j'ai trouvé sur google ..
import facebook
def main():
# Fill in the values noted in previous steps here
cfg = {
"page_id" : "XXXXXXXXXXXXXX", # Step 1
"access_token" : "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" # Step 3
}
api = get_api(cfg)
msg = "Hello, world!"
status = api.put_wall_post(msg)
def get_api(cfg):
graph = facebook.GraphAPI(cfg['access_token'])
# Get page token to post as the page. You can skip
# the following if you want to post as yourself.
resp = graph.get_object('me/accounts')
page_access_token = None
for page in resp['data']:
if page['id'] == cfg['page_id']:
page_access_token = page['access_token']
graph = facebook.GraphAPI(page_access_token)
return graph
if __name__ == "__main__":
main()
Mais je reçois cette erreur:
AssertionError: les opérations d'écriture nécessitent un jeton d'accès sur la ligne
status = api.put_wall_post(msg)
.
Quelqu'un peut-il m'aider à résoudre le problème?
J'espère que le code ci-dessus fonctionne correctement si vous fournissez un identifiant de page et un jeton d'accès. Veuillez suivre les étapes ci-dessous pour obtenir le jeton d'accès et l'ID de page.
2.Choisissez votre application dans le menu déroulant
3.Cliquez sur "Obtenir un jeton d'accès"
4.Choisissez l'autorisation manage_pages (vous pouvez également avoir besoin de l'autorisation user_events, pas sûr)
5.Accédez maintenant à la connexion moi/comptes et copiez le access_token de votre page
6.Cliquez sur l'identifiant de votre page
7.Ajoutez le access_token de la page aux champs GET
8.Appelez la connexion que vous souhaitez (par exemple: PAGE_ID/événements)
Ce sujet a déjà été discuté dans Facebook Access Token for Pages
Pour écrire un message sur Facebook en utilisant python, nous avons besoin de access_token pour cela.
graph = facebook.GraphAPI(access_token="XXXXXXXX")
print graph
#to post to your wall
graph.put_object("me", "feed", message="Posting on my wall1!")
#to get your posts/feed
feed = graph.get_connections("me", "feed")
post = feed["data"]
print post
#to put comments for particular post id
graph.put_object(post["id"], "comments", message="First!")
Vérifié en mars 2020:
!pip install facebook-sdk==2.0.0
puis:
import facebook
def main():
# Fill in the values noted in previous steps here
cfg = {
"page_id" : "1xxxxx48480xxxx", # Step 1
"access_token" : "xxxxxxxxxxxxxxxxxxxxxxxnp3QApxv12gjGnV99BNnhxxxxxxxxxx" # Step 3
}
api = get_api(cfg)
msg = "Hello, world!"
status = api.put_wall_post(msg)
def get_api(cfg):
graph = facebook.GraphAPI(cfg['access_token'])
resp = graph.get_object('me/accounts')
page_access_token = None
for page in resp['data']:
if page['id'] == cfg['page_id']:
page_access_token = page['access_token']
graph = facebook.GraphAPI(page_access_token)
return graph
if __name__ == "__main__":
main()
Compte tenu des autorisations: nous avons besoin des autorisations manage_pages publish_pages.
id de page vous pouvez trouver au bas de la section à propos de votre page.