Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用图形API编写代码_Python_Facebook_Api_Facebook Graph Api - Fatal编程技术网

Python 使用图形API编写代码

Python 使用图形API编写代码,python,facebook,api,facebook-graph-api,Python,Facebook,Api,Facebook Graph Api,我对python、脚本和API非常陌生,我只是在学习。我遇到了一个非常酷的代码,它使用facebook api来回复生日祝福 我会添加我的问题,我会给它编号,这样以后其他人也会更容易回答。我希望这个问题能消除很多新手的疑虑 1谈到API,API通常采用什么格式?它是我们需要下载并稍后导入的库文件吗?例如,twitter API,我们需要导入twitter吗 代码如下: import requests import json AFTER = 1353233754 TOKEN = ' <in

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

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

1谈到API,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())`
问题:

导入json->为什么在这里导入json?给一个有条理的答复? 这里的'AFTER'和空变量'TOKEN'是什么? get_post函数中的变量'query'和'payload'是什么? 准确地解释几乎每个方法和函数的作用。 我知道我非常天真,但这可能是一个好的开始。一点提示,我可以继续。 如果不打算解释代码,这很无聊,我理解,请告诉我在编写代码后如何链接到API,这意味着编写的脚本如何与所需的API通信

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

访问web服务和解释通过HTTP发送的数据需要json。 “AFTER”变量应该用来假设在这个特定时间戳之后的所有帖子都是生日愿望。 要使程序正常工作,您需要一个令牌,您可以从该令牌获得相应的权限。
非常感谢你,尼古拉斯。一旦我完全弄明白了,我会自己发布一个简短的答案。