我对 python 、脚本和 API 非常陌生,我只是在学习。我遇到了一个非常酷的代码,它使用 facebook api 回复生日祝福。
我会添加我的问题,我会给它编号,以便以后其他人也更容易。我希望这个问题能消除很多新手的疑惑。
1)谈论API,通常采用什么格式?它是我们需要下载并稍后导入的库文件吗?例如,twitter API,我们需要import 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())`
问题:
- importing json-->这里为什么要导入json?给出结构化的答复?
- 这里的“AFTER”和空变量“TOKEN”是什么?
- get_post() 函数中的变量 'query' 和 'payload' 是什么?几乎准确地解释了每个方法和函数的作用。
我知道我非常天真,但这可能是一个好的开始。一点提示,我可以继续。如果不解释代码,这很无聊,我明白了,请告诉我如何在编写代码后链接到 API,即编写的脚本如何与所需的 API 通信。
这不是我的代码,我是从源代码中复制的。