从用户个人资料中自动删除Facebook帖子

时间:2019-08-25 12:33:21

标签: python facebook-graph-api

我希望能够运行一个脚本,该脚本在运行后自动删除我的Facebook帖子/活动。

我已经编写了脚本,以便目前可以对用户个人资料中显示的所有帖子进行整理,但是我不确定现在如何自动删除帖子,因为这将是脚本的最后一步。

import requests
import pprint
import sys

# See http://www.unixtimestamp.com/ to generate Unix timestamps online
payload = {
            'until': 1566691200, # Unix timestamps
            'since': 1072915200, # Unix timestamps
            'limit': 1000, # number of posts
            'access_token': '', # your access token

        }

#Variables

id = 'id'
name = 'name'

base_api = 'https://graph.facebook.com'
posts_endpoint = base_api + '/me/posts/'

posts_response = requests.get(posts_endpoint, params=payload)

if posts_response.status_code != requests.codes.ok:
    print('Error: ' + posts_response.json()['error']['message'])
    sys.exit(0)

posts_dict = posts_response.json()['data']
pprint.pprint(posts_dict)

print("Total posts to delete: %d" % len(posts_dict))
for post in posts_dict:
    #print("Deleting [%s] %s" % (post['id'], post['name']))
    requests.delete(base_api + '/' + post['id'], params=payload)
    #print("Deleted [%s] %s\n" % (post['id'], post['name']))

如预期的那样,它将在%user页面上打印当前帖子列表。

1 个答案:

答案 0 :(得分:0)

我认为,您的request.delete方法是正确的,但是

您可以查看文档https://developers.facebook.com/docs/graph-api/using-graph-api#deleting

也就是说,它只需要访问令牌作为删除请求中的参数。

curl -i -X DELETE \
    "https://graph.facebook.com/{your-page-post-id}?access_token={your-page-access-token}"

或者您可以使用POST方法

curl -i -X POST \
    "https://graph.facebook.com/{comment-id}?method=delete&access_token={access-token}"

并保持您的访问令牌为私密