I'm trying to upload a video following this Graph API documentation: https://developers.facebook.com/docs/video-api/guides/publishing
I have been able to upload the video and received a video handle in response.
However, no matter what I try, when doing the final "publish" step, I get this response:
{
"error": {
"message": "There was a problem uploading your video file. Please try again with another file.",
"type": "OAuthException",
"code": 6000,
"error_data": {
"error": null
},
"error_subcode": 1363019,
"is_transient": false,
"error_user_title": "Video wasn't uploaded",
"error_user_msg": "There was a problem with uploading your video. Please wait a few minutes and try again.",
"fbtrace_id": "AMa9zbs8h3b4omv5wRSfTsf"
}
}
Things I've tried: - Making POST request via Facebook Javascript SDK - Making POST request via axios - Making POST request via axios via CORS proxy - Making POST request via the Graph API Explorer - Making POST request from a vercel.app host rather than localhost - Posting a variety of video file types and sizes
Every time, exactly the same response (fbtrace_id changes)
Needless to say, the error message isn't giving me enough information to find the cause of the problem (and waiting a few minutes and trying again later doesn't help).
The request that is being made (via Javascript SDK) is:
curl 'https://graph.facebook.com/v20.0/365492213311492/videos?access_token=' \
-H 'accept: */*' \
-H 'accept-language: en-GB,en-US;q=0.9,en;q=0.8' \
-H 'content-type: application/x-www-form-urlencoded' \
-H 'origin: https://localhost:3000' \
-H 'priority: u=1, i' \
-H 'referer: https://localhost:3000/' \
-H 'sec-ch-ua: "Not/A)Brand";v="8", "Chromium";v="126", "Google Chrome";v="126"' \
-H 'sec-ch-ua-mobile: ?0' \
-H 'sec-ch-ua-platform: "macOS"' \
-H 'sec-fetch-dest: empty' \
-H 'sec-fetch-mode: cors' \
-H 'sec-fetch-site: cross-site' \
-H 'user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36' \
--data-raw $'description=Victoria\'s%20nurses%20and%20midwives%20have%20voted%20down%20a%20proposed%2023%25%20pay%20rise%20over%20four%20years%2C%20citing%20uncertainty%20and%20a%20desire%20for%20better%20conditions.&fbuploader_video_file_chunk=&method=post&pretty=0&sdk=joey&suppress_http_code=1&title=Nurses%20Reject%20Offer'
I suspect the problem has to do with permissions and the Facebook app configuration. I tried to post just a regular Page Post and that was successful. The successful Page Post request was:
curl 'https://graph.facebook.com/v20.0/365492213311492/feed?access_token=' \
-H 'accept: */*' \
-H 'accept-language: en-GB,en-US;q=0.9,en;q=0.8' \
-H 'content-type: application/x-www-form-urlencoded' \
-H 'origin: https://localhost:3000' \
-H 'priority: u=1, i' \
-H 'referer: https://localhost:3000/' \
-H 'sec-ch-ua: "Not/A)Brand";v="8", "Chromium";v="126", "Google Chrome";v="126"' \
-H 'sec-ch-ua-mobile: ?0' \
-H 'sec-ch-ua-platform: "macOS"' \
-H 'sec-fetch-dest: empty' \
-H 'sec-fetch-mode: cors' \
-H 'sec-fetch-site: cross-site' \
-H 'user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36' \
--data-raw 'message=Nurses%20Reject%20Offer&method=post&pretty=0&sdk=joey&suppress_http_code=1'
Other contextual information
The Facebook App has not undergone App Review yet, but the User is connected to the Facebook App, so that shouldn't be a problem
The User has admin access to the test Page
Based on the user access token and the page access token, the permissions are: (same for both)
email
publish_video
pages_show_list
pages_read_engagement
pages_read_user_content
pages_manage_posts
pages_manage_engagement
Screenshot of Facebook App permissions configuration is attached