Как опубликовать видео в Instagram как настоящий REEL
Мои пользователи прошли аутентификацию через учетную запись Instagram Business и подключили свои страницы в моем приложении. Аутентификация прошла успешно, и когда они хотят опубликовать REEL на подключенной странице в Instagram, для этого использовался следующий код:
async function publishVideoAsReel() {
let containerParams = new URLSearchParams();
let mediaContainerUrl = `https://graph.facebook.com/${igUserId}/media`;
containerParams.append('media_type', 'REELS'); //Notice here
containerParams.append('video_url', firstMediaUrl);
containerParams.append('thumb_offset', igVideoCoverOffset);
containerParams.append('access_token', pageAccessToken);
try {
let mediaContainerResponse = await axios.post(mediaContainerUrl, containerParams);
let { id: mediaContainerId } = mediaContainerResponse.data;
await finalizePost(igUserId, mediaContainerId, metaData);
} catch (e) {
console.log('Error posting to Instagram');
console.log(e);
}
}
async function finalizePost(igUserId, mediaContainerId, metaData) {
let mediaContainerStatusEndpoint = `https://graph.facebook.com/${mediaContainerId}?fields=status_code,status&access_token=${targetAccessToken}`;
try {
let { data: mediaContainerStatus } = await axios.get(mediaContainerStatusEndpoint);
let { status_code, status } = mediaContainerStatus;
if (status_code === 'ERROR') {
//Return here
}
if (status_code !== 'FINISHED') {
setTimeout(async () => {
//Wait For 5seconds and recursively check for the status of the uploaded video
await finalizePost(igUserId, mediaContainerId, metaData);
}, 5000);
} else {
//The video has been published, finalize the post here
try {
let mediaPublishResponse = await axios.post(`https://graph.facebook.com/${igUserId}/media_publish?creation_id=${mediaContainerId}&access_token=${targetAccessToken}`);
//More code omitted
} catch (e) {
}
}
} catch (e) {
}
}
С помощью приведенного выше кода видео было успешно опубликовано на Странице как REEL, а также отображалось на вкладке REEL.
Однако пользователь сгенерировал отчет из Meta и заметил, что сообщение отображается как Type:Post, а не как тип:REEL.
Итак, я попытался проверить, изменилось ли что-нибудь в отношении публикации REEL, а затем наткнулся на эту ссылку
Теперь, после попытки следить за последними изменениями по этой ссылке, я получаю сообщение об ошибке
«Тема не имеет достаточных прав для публикации в таргете»
Итак, у меня 3 вопроса:
- Мой первоначальный код не выполнял работу по публикации в Instagram как настоящий REEL
- Нужно ли мне проводить рефакторинг, чтобы учесть изменения в новой ссылке https://developers.facebook.com/docs/video-api/guides/reels-publishing .https://developers.facebook.com/docs/video-api/guides/reels-publishing
- Однако мой первоначальный код работал отлично, когда я пытался следовать инструкциям в новых документах № 2, почему я получаю эту ошибку выше?
Спасибо
1 ответ
Похоже, ваш токен доступа к странице не имеет достаточного разрешения для публикации роликов. Вы можете отладить свой токен доступа, вставив его сюда https://developers.facebook.com/tools/debug/accesstoken.
Затем перекрестно проверьте, что ваш токен доступа имеет достаточные разрешения, необходимые для публикации ролика, как указано на следующем снимке экрана: