Я хочу опубликовать сообщение в частной группе с сообщением и несколькими фотографиями, прикрепленными с помощью Graph API.
Я успешно создал сообщение с 1 изображением, используя следующее:
axios.post(`https://graph.facebook.com/${groupId}/photos?url=${photoUrl}&&access_token=${FB_USER_TOKEN}`, { message: 'Dummy text' })
Согласно документации FB, мне кажется, что я должен сначала опубликовать изображения как «опубликовано: ложь».
Поэтому я попробовал следующее:
- публикация фотографий групп как опубликовано: false и сбор mediaIds в массив
var resp
var mediaIds = []
for (var i=0; i<photoUrls.length; i++) {
const url = `https://graph.facebook.com/${groupId}/photos`
resp = await axios.post(url,{ access_token: FB_USER_TOKEN, url: photoUrls[i], published: false })
mediaIds.push(resp.data.id)
}
- Создайте сообщение с прикрепленным массивом mediaId, в котором должны быть опубликованы фотографии.
var data = { message: 'Dummy text', access_token: FB_USER_TOKEN }
for (var j=0; j<mediaIds.length; j++) {
data[`attached_media[${j}]`] = { media_fbid: mediaIds[j] }
}
resp = await axios.post(`https://graph.facebook.com/${grouId}/feed`, data)
Результатом является только сообщение с фиктивным текстом вместо ожидаемого сообщения с изображениями.
Когда я публикую 1 изображение, решение 1 работает для меня.
Но не более 1.
Это какое-то ограничение на другие / страницу и / пользователя apis?
Я не нашел четкой документации по этому