运行下面的程序时出现此错误。我在CentOS上运行此代码。我不知道问题是什么!
我遇到了这个错误:TypeError: put_photo() takes at most 3 arguments (4 given)
#!/usr/bin/python:
# -*- coding: utf-8 -*-
from sys import argv
#import tweepy
import facebook
def main():
cfg = {
"page_id" : "XXXX",
"access_token" : "XXXX"
}
api = get_api(cfg)
msg = "Hello, world!"
status = api.put_wall_post(msg)
def get_api(cfg):
graph = facebook.graphapi(cfg['access_token'])
resp = graph.get_object('me/accounts')
page_access_token = None
for page in resp['data']:
if page['id'] == cfg['page_id']:
page_access_token = page['access_token']
graph = facebook.GraphAPI(page_access_token)
'''
caption = "இன்ரைய நாள் காட்டி #tamilcalender (©belongs to watermarked party)"
albumid = ''
with open(image.jpg,"rb") as image:
posted_image_id = graph.put_photo(image, caption, albumid) '''
return graph
if __name__ == "__main__":
main()
答案 0 :(得分:1)
put_photo
API只有两个参数。
image
- 表示要上传的图像的文件对象。album_path
- 表示图片上传位置的路径。默认为/ me / photos,为每个Facebook应用程序创建/使用自定义相册。Please check this link for more info.
你正在通过三个结果 - image, caption, albumid
。
除了这三个,如上面 @kindall 和 @BrandonIbbotson 的评论中所解释的那样,传递了一个与self
相关的强制参数。
只需查看上面的链接以获取示例,然后传递两个有效的参数。