API.put_photo已弃用是否有使用Python API在Facebook上发布照片或图形的新方法?

问题描述

我正在使用facebook api(版本3.1)通过python脚本(如下所示)在我的Facebook Feed自动发布,直到最近为止还可以正常工作。我发现facebook从新的api版本(8.0)中弃用了put_photo函数,但是找不到如何调用函数或新方法来从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

解决方法

无法再通过API将照片发布到用户个人资料上。

此内容已完全删除,与通过API发布普通帖子相同。除了实时视频,您无法再通过API将任何内容发布到用户个人资料上。

希望向最终用户提供共享功能的应用程序可以使用提供的对话框之一。 (但是,即使那些不允许上传照片,您也只能共享链接。)