#python-3.x #facebook #facebook-sdk-3.1
#python-3.x #Facebook #facebook-sdk-3.1
Вопрос:
Я использую facebook API (версия 3.1.) для автоматической публикации в моей ленте Facebook с помощью скрипта python (показан ниже), который до недавнего времени работал нормально. Я обнаружил, что facebook устарел функцию put_photo из новой версии api (8.0), но не могу найти, как вызвать новую функцию или новый метод для автоматической публикации фотографий из скрипта python. Итак, есть ли новый способ сделать это? Чего мне не хватает?
Большое спасибо за помощь!
import facebook
import sys,os
import json
import numpy as np
def facebook_post_sentido(figure_name):
def get_cfg():
cfg = {
"page_id" : "my_id"
"access_token" : "my_token"
}
return cfg
def gen_api(cfg):
API = facebook.GraphAPI(cfg['access_token'])
print("generating api connection")
return API
cfg = get_cfg()
API = gen_api(cfg)
photo_id = API.put_photo(image=open(figure_name, 'rb'), )
# API.put_object(parent_object=cfg["page_id"], connection_name="feed",
# message="SISMO SENTIDO RELOCALIZADO",
# attached_media=json.dumps([{'media_fbid': str(photo_id.get('id', ''))}]))
facebook_post_sentido(figure_name="myfigure")
Когда я запускаю код, я получаю следующую ошибку:
Facebook.Ошибка GraphAPIError: (#200) Эта конечная точка устарела, поскольку требуемое разрешение publish_actions устарело
Ответ №1:
Больше нет способа опубликовать фотографию в профилях пользователей через API.
Это было полностью удалено, так же, как и создание обычных сообщений через API. За исключением видео в реальном времени, вы больше не можете ничего публиковать в профилях пользователей через API.
Приложения, желающие предоставить конечным пользователям функциональность совместного использования, могут использовать одно из предоставленных диалоговых окон. (Но даже они не позволяют загружать фотографии, вы можете делиться только ссылками.)