2015-06-18 3 views
3

Я пытаюсь загрузить видео в facebook с внешнего URL. Но у меня возникла ошибка, когда я опубликовал ее. Я пробовал с местными видео, и все работает нормально.Python Facebook upload video from external link

Мой простой код:

answer = graph.post(
     path="597739293577402/videos", 
     source='https://d3ldtt2c6t0t08.cloudfront.net/files/rhn4phpt3rh4u/2015/06/17/Z7EO2GVADLFBG6WVMKSD5IBOFI/main_OUTPUT.tmp.mp4', 
    ) 

и моя ошибка всегда находится тот же:

FacebookError: [6000] There was a problem uploading your video file. Please try again with another file. 

Я посмотрел в документы и нашел FILE_URL параметр, но это все тот же вопрос.

Формат видео - .mp4, поэтому он должен работать.

Любая идея?

Видимо, это сообщение об ошибке очень сбивает с толку. Это одно и то же сообщение, когда у вас есть access_token, который не работает. Например, у меня есть это сообщение об ошибке, когда я пытаюсь использовать токен доступа к пользователю, а не если я использую токен доступа к странице.

+0

У вас есть необходимые разрешения для страницы, которую вы пытаетесь загрузить слишком? Вы должны использовать токен доступа к странице с разрешением «publish_pages», как описано в [здесь] (https://developers.facebook.com/docs/graph-api/reference/page/videos#Creating) – The1Fitz

+0

Да, я! Я проверяю все разрешения. Прямо сейчас я столкнулся с этой проблемой с локальным файлом, который сказал, что у меня нет разрешения. Но когда я перехожу к графическому инструменту, я устанавливаю правильные разрешения, поэтому я не понимаю, почему он не работает. Если я хочу опубликовать на странице, мне нужно только мое access_token с правом на странице справа? – DaschPyth

+0

@DaschPyth все, что вам нужно, это ваш access_token для публикации на странице. Вы когда-нибудь могли успешно опубликовать видео? Вы проверили свои права на свое приложение? – AdjunctProfessorFalcon

ответ

2

Я никогда не использовал source, я уверен, что это для чтения видеоданных с их API. Вместо этого я использую file_url в своей полезной нагрузке при передаче URL-адресов видеофайлов в API-интерфейс Facebook Graph.

Обратитесь к их API doc для ясности, что ...

Это также возможно, что расширение файла tmp.mp4 причиняет вам проблемы. У меня были проблемы с действительными URL-адресами видео с нестандартными расширениями файлов, подобными этому. Можно ли изменить это в источнике, чтобы URL-адрес не имел tmp?

Типичным полезной нагрузки проход с помощью модуля запросов на их API, который работает для меня может выглядеть примерно так:

fburl = 'https://graph-video.facebook.com/v2.3/156588/videos?access_token='+str(access) 
payload = {'name': '%s' %(videoName), 'description': '%s' %(videoDescription), 'file_url': '%s' %(videoUrl)} 
flag = requests.post(fburl, data=payload).text 
print flag 
fb_res = json.loads(flag) 

Я также настоятельно рекомендую вам получить permanent page access token. Это лучший способ смягчить сложности процесса OAuth в Facebook.

facebook: permanent Page Access Token?

+0

Я отвечу на ваш вопрос как хороший. Мне удалось сделать это после хорошего токена доступа. Вы говорите о постоянном токене доступа к странице, но я не мог заставить его работать после его создания. Возможно, это моя вина, потому что токен Oauth Facebook - такой беспорядок! Thx кстати :) – DaschPyth

+0

@DaschPyth это многоэтапный процесс для получения постоянного доступа к странице, взял несколько попыток, но он работает, если вы используете cURL вместо того, чтобы пытаться сделать это, используя только запросы. – AdjunctProfessorFalcon