私は 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 とどのように通信するかを教えてください。
これは私のコードではありません。ソースからコピーしました。