python - 使用图形 API 编写代码

标签 python facebook api facebook-graph-api

我对 python、脚本和 API 非常陌生,我只是在学习。我发现了一个非常酷的代码,它使用 facebook api 来回复生日祝福。

我会添加我的问题,我会给它编号,以便以后其他人也能更容易。我希望这个问题能够消除很多新手的疑虑。

1)说到API,通常采用什么格式?它是我们需要下载并稍后导入的库文件吗?例如,twitter API,我们需要导入twitter

这是代码:

import requests
import json

AFTER = 1353233754
TOKEN = ' <insert token here> '

def get_posts():
    """Returns dictionary of id, first names of people who posted on my wall

    between start and end time"""

    query = ("SELECT post_id, actor_id, message FROM stream WHERE "
             "filter_key = 'others' AND source_id = me() AND "
             "created_time > 1353233754 LIMIT 200")

    payload = {'q': query, 'access_token': TOKEN}
    r = requests.get('https://graph.facebook.com/fql', params=payload)
    result = json.loads(r.text)
    return result['data']

def commentall(wallposts):
    """Comments thank you on all posts"""
    #TODO convert to batch request later

    for wallpost in wallposts:
        r = requests.get('https://graph.facebook.com/%s' %
                         wallpost['actor_id'])

        url = 'https://graph.facebook.com/%s/comments' % wallpost['post_id']
        user = json.loads(r.text)
        message = 'Thanks %s :)' % user['first_name']
        payload = {'access_token': TOKEN, 'message': message}

        s = requests.post(url, data=payload)
        print "Wall post %s done" % wallpost['post_id']

if __name__ == '__main__':
     commentall(get_posts())`

问题:

  1. 导入json-->这里为什么导入json?给出结构化的答复?
  2. 这里的“AFTER”和空变量“TOKEN”是什么?
  3. get_post() 函数中的变量“query”和“payload”是什么? 准确解释几乎每个方法和函数的作用。

我知道我非常天真,但这可能是一个好的开始。一点提示,我可以继续。 如果不解释代码,那很无聊,我明白,请告诉我代码写完后如何链接到API,也就是说编写的脚本如何与所需的API通信。

这不是我的代码,我从来源复制的。

最佳答案

  1. 需要 json 来访问 Web 服务并解释通过 HTTP 发送的数据。
  2. “AFTER”变量应该用于假设在此特定时间戳之后的所有帖子都是生日祝福。
  3. 要使程序运行,您需要一个 token ,您可以从 Graph API Explorer 获取该 token 。具有适当的权限。

关于python - 使用图形 API 编写代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18757916/

相关文章:

asp.net - 使用 asp.net 将评论发布到 facebook 墙上

API 设计 : Separate or combine internal with external functions?

mysql - MySQL INSERT for POST 方法的正文不正确

python - CVLIB-如何为原始图像添加模糊的子表面?

facebook - 测试用户是否安装了带有 Graph API 的应用程序

python - SUDS 生成的 XML 不正确

Android:跨 Activity 传递 Facebook session

javascript - 使用 JavaScript 交换 API

python - 随机搜索获取参数未实现

python - Pyqt Gui 在循环中卡住