27 lines
995 B
Python
27 lines
995 B
Python
import facebook
|
|
|
|
from . import Worker
|
|
|
|
|
|
class FacebookWorker(Worker):
|
|
def __init__(self, page_id, oauth_access_token):
|
|
self.page_id = page_id
|
|
self.oauth_access_token = oauth_access_token
|
|
self.api = facebook.GraphAPI(self.oauth_access_token)
|
|
|
|
def post_single(self, caption, image):
|
|
with open(image, 'rb') as photo:
|
|
self.api.put_object(self.page_id, 'photos', message=caption,
|
|
source=photo.read())
|
|
|
|
def post_multiple(self, message, images):
|
|
ids = []
|
|
for image, msg in images.items:
|
|
with open(image, 'rb') as photo:
|
|
result = self.api.put_object(self.page_id, 'photos',
|
|
message=msg, source=photo.read(),
|
|
published=False)
|
|
ids.append(result['id'])
|
|
self.api.put_object(self.page_id, 'feed', message=message,
|
|
attached_media=ids)
|