#python #facebook #python-2.7
#python #Facebook #python-2.7
Вопрос:
Я получаю эту ошибку при запуске программы, приведенной ниже. Я запускаю этот код на 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()
Комментарии:
1.
graph.put_photo(image, caption, albumid)
имеет 4 аргумента. Это не похоже на это, но это потому, что первый скрыт, (self
). Вы передаете слишком много вещей в метод.2. Вы передаете четыре аргумента в этом вызове
put_photo
. Объект, к которому прикреплен метод (graph
), автоматически передается в качестве первого аргумента, традиционно вызываемогоself
. Затем вы вводите еще три самостоятельно, в общей сложности четыре. Посмотрите документацию илиhelp()
для этого метода, чтобы выяснить, как его вызвать.
Ответ №1:
put_photo
API принимает только два аргумента.
image
— Файловый объект, представляющий загружаемое изображение.album_path
— Путь, представляющий, куда должно быть загружено изображение. По умолчанию используется /me / photos, который создает / использует пользовательский альбом для каждого приложения Facebook.
Пожалуйста, проверьте эту ссылку для получения дополнительной информации.
Вы передаете три aruguments — image, caption, albumid
.
Наряду с этими тремя, как объяснено в приведенных выше комментариях @kindall и @BrandonIbbotson, передается один обязательный аргумент, который связан с self
.
Просто проверьте приведенную выше ссылку на примеры и просто передайте два допустимых аргумента.