Не могу загрузить видео в API Dailymotion.Javascript

Форум по Javascript
Ответить Пред. темаСлед. тема
Anonymous
 Не могу загрузить видео в API Dailymotion.

Сообщение Anonymous »

Я не могу программно загрузить видео в dailymotion через API. Я могу нормально загружать вручную на интерфейсе. В рамках более крупного проекта я хочу автоматизировать загрузку определенных файлов в Dailymotion через API, но, похоже, я просто не могу заставить его опубликовать видео. Все, что я пробовал, говорит о том, что оно загружено, но я никогда не вижу видео в интерфейсе или на сайте, поэтому я не могу просмотреть их или встроить в другое место. В настоящее время я пытаюсь загрузить одно тестовое видео из локальной среды в ту же папку, что и проект, в целях тестирования.
Вот что у меня получилось:

Код: Выделить всё

app.post('/api/dailymotion/upload', async (req, res) =\> {
const localVideoDirectory = path.join(\__dirname, 'videos');

try {
const videos = fs.readdirSync(localVideoDirectory)
.filter(file => file.endsWith('.mp4') || file.endsWith('.mkv') || file.endsWith('.avi'))
.map(file => ({
name: file,
path: path.join(localVideoDirectory, file)
}));

if (!videos || videos.length === 0) {
return res.status(400).send('No video files found in the local directory.');
}

console.log('[📂] Found Local Videos:', videos);

const token = await getAccessToken();

const uploadResults = await Promise.all(videos.map(async (video) => {
try {
console.log(`[📂] Preparing to upload video: ${video.name}`);

const videoData = fs.readFileSync(video.path);

const form = new FormData();
form.append('file', videoData, video.name);
form.append('title', video.name);
form.append('channel', 'music');
form.append('published', 'true');
form.append('is_created_for_kids', 'false');

// Make the request to upload and publish in one step
const uploadResponse = await axios.post(
`${DAILY_API_BASE}/me/videos`,
form,
{
headers: {
Authorization: `Bearer ${token}`,
...form.getHeaders(),
},
maxContentLength: Infinity,
maxBodyLength: Infinity,
}
);

console.log('[✅] Video Uploaded and Published:', uploadResponse.data);

return uploadResponse.data;
} catch (error) {
console.error(`[❌] Error uploading video (${video.name}):`, error.message);
return { error: error.message, video: video.name };
}
}));

res.json(uploadResults);
} catch (error) {
console.error('[❌] Error in upload endpoint:', error.message);
res.status(500).send('Error uploading videos.');
}

});
Я ожидал, что это сработает, поскольку я пытался следовать документации и использовал проводник API.
Использование проводника API возвращает простой объект json при успех. Я получаю то же самое:

Код: Выделить всё

[✅] Video Uploaded and Published: {
id: 'x9cqoek',
title: 'anpr.mp4',
channel: 'music',
owner: 'x369ws4'
}
Когда я запрашиваю видео следующим образом:

Код: Выделить всё

curl -X GET -H "Authorization: Bearer " https://api.dailymotion.com/video/x9cqoek?fields=id,title,channel,status,published
Он возвращает это:

Код: Выделить всё

{"id":"x9cqoek","title":"anpr.mp4","channel":"music","status":"processing","published":false}
И когда я проверяю ход кодирования с помощью этого:

Код: Выделить всё

curl -X GET -H "Authorization: Bearer \" https://api.dailymotion.com/video/x9cqoek?fields=encoding_progress
Он возвращает это:

Код: Выделить всё

{"encoding_progress":0}
Наконец, я попытался вручную настроить публикацию с помощью API:

Код: Выделить всё

curl -X POST -H "Authorization: Bearer \" -F 'published=true' https://api.dailymotion.com/video/x9cqoek
Это просто возвращает следующее:

Код: Выделить всё

{"id":"x9cqoek","title":"anpr.mp4","channel":"music","owner":"x369ws4"}
Повторная проверка с помощью приведенной выше команды для определения статуса возвращает тот же объект, что и раньше.
Я перепробовал все, что мог придумать, при этом и, возможно, просто попробую что-нибудь еще, но я бы хотел придерживаться dailymotion, если это возможно. Загрузка видео вручную работает нормально, и я могу использовать тот же токен аутентификации для запроса загруженных видео и возврата тех, которые я загружаю вручную через сайт. Мои видео, загруженные через API, похоже, никогда не распространяются.

Подробнее здесь: https://stackoverflow.com/questions/793 ... motion-api
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как загрузить видео в мою учетную запись Dailymotion на C#?
    Гость » » в форуме C#
    0 Ответы
    27 Просмотры
    Последнее сообщение Гость
  • Как удалить видео из плейлиста с API Dailymotion?
    Anonymous » » в форуме Php
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous
  • Получить список частных видео Dailymotion
    Anonymous » » в форуме Php
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous
  • Получить список частных видео Dailymotion
    Anonymous » » в форуме Php
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Получить список частных видео Dailymotion
    Anonymous » » в форуме Php
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Javascript»