Есть ли у Instagram Reels API для разработчиков?
Я не могу найти Instagram Reels
связанные с API
. Кто-нибудь знает, есть ли он или будет?
В настоящее время Facebook
документация разработчика ничего не упоминает о Instagram Reels
.https://developers.facebook.com/docs/instagram-api/overview/
11 ответов
В документации API Instagram в разделе "Ограничения" в настоящее время написано, что "IGTV и Reels не поддерживаются".
Катушки это IG Media с типом "ВИДЕО". И вы можете получить сингл "Reels", если знаете его идентификатор в Facebook (это не идентификатор СМИ из Instagram).
Если ролики публикуются как истории, вы можете получить список медиа из конечной точки историй(GET graph.facebook.com/{ig-user-id}/stories). Вы получите массив идентификаторов медиа.
"data": [
{
"id": "{ig-media-id}"
},
...
]
}
Затем вы можете получить информацию из одной конечной точки медиа-объекта (GET /{ig-media-id})
Так что в настоящий момент вы можете получить ролики по api только в том случае, если они опубликованы как рассказ.
В любом случае барабаны не поддерживаются в некоторых странах, и вы можете увидеть ролики только из историй в этих странах.
ОБНОВИТЬ
Барабаны также доступны, когда вы получаете пользовательские медиа из Business-Discovery(GET {ig-user-id}?fields=business_discovery.username(instagramm_user_name){media{id,permalink,media_type,media_url}}
) или пользовательские медиа (GET /{ig-user-id}/media
).
Если постоянная ссылка СМИ выглядит как https://www.instagram.com/reel/...
и media_type VIDEO
тогда это катушки.
Кажется, они попали в GET /{ig-user-id}/media
и GET {ig-user-id}?fields=business_discovery.username(instagramm_user_name)
конечные точки в начале, но они удалили их позже. Судя по документации, на данный момент они не поддерживаются. Дальнейшее подтверждение в этом отчете об ошибке. Кажется, это не первый раз, когда они включают узлы, которые не должны быть включены (IGTV и теперь барабаны).
Не уверен, но я немного покопался в файле Instagram .ipa и нашел эти параметры схемы URL.
instagram://reels_home
instagram://reels_share
Оба из них, если щелкнуть на ios, переместят вас в ленту барабанов. Я намерен открыть камеру барабанов (или камеру истории с режимом, установленным на барабаны), но я предполагаю, что в настоящее время мы можем получить доступ только к ленте барабанов.
Есть один способ без использования Instagram API с использованием javascript: с помощью этого JavaScript вы можете загружать Instagram Reels, сообщения, видео все из них. Я создал сайт Instagram Reels Downloader, используя этот javascript
const getMedia = () => {
render.innerHTML = "<div class='image-placeholder'></div>";
let url = _("input").value;
if (url) {
fetch(url)
.then((r) => r.text())
.then((r) => {
// render html
render.innerHTML = r;
// wait, find meta and create video or image
let w = setTimeout(() => {
let v = _('meta[property="og:video"]');
var x = document.getElementById("two");
if (x.style.display === "none") {
x.style.display = "block";
}
if (v) {
createVideo(v);
} else {
let img = _('meta[property="og:image"]');
if (img) {
createImg(img);
} else {
document.body.innerHTML = body;
alert("Error extracting Instagram image / video.");
}
}
clearTimeout(w);
}, 200);
});
} else {
_("input").setAttribute(
"placeholder",
"Invalid address, use a proper Insagram link"
);
}
};
Instagram только что выпустил поддержку барабанов (доступно для всех с 7 июля 2022 года).
Подробнее здесь https://developers.facebook.com/docs/instagram-api/guides/content-publishing/
Как упоминалось ранее, Instagram не предоставляет прямых API, но вы можете воспользоваться помощью Instagrapi, он действительно потрясающий и простой в использовании. Примечание. Эта оболочка частного API Instagram написана на языке Python. Вот как это использовать - Установите библиотеку:
python -m pip install instagrapi
Код
from instagrapi import Client
cl = Client()
#enter your username and password
cl.login('username', 'password')
#you can replace 10 with whatever amount of reels you want to fetch
reel = cl.explore_reels(amount = 10)
print(reel)
Вот и все !!!
Instagram Reels API теперь общедоступен:
https://developers.facebook.com/blog/post/2022/06/27/introduction-reels-apis-to-instagram-platform/
Вы можете сделать запланированную публикацию. Например, с помощью JavaScript и загрузки видео в Reels API[1]:
const access_token = "Js82ks92jald"; // The access token given from FB
const instagram_user_id = "12345"; // The IG user's ID
const reelUrl = "https://www.website.com/reel.mp4";
const caption = "This is the best real ever #Reels4Real";
const postUrl = `https://graph.facebook.com/${instagram_user_id}/media?video_url=${encodeURIComponent(reelUrl)}&caption=${encodeURIComponent(caption)}&access_token=${access_token}&media_type=REELS&share_to_feed=true&thumb_offset=2000`;
const postOptions = {
method: "POST",
headers: {
"Content-Type": "application/json",
},
};
fetch(postUrl, postOptions)
.then((res) => res.json())
.then(json => console.log(json))
.catch(console.error);
Обратите внимание на ключевые поля media_type=REELS, video_url и заголовок.
[1] https://www.ayrshare.com/instagram-reels-api-how-to-post-videos-to-reels-using-a-social-media-api/
Наа,
Instagram пока не предоставляет API для барабанов, так как функция катушки по-прежнему недоступна во многих странах, но она будет доступна в ближайшее время.
Возникает вопрос, как мы можем получить данные о барабанах через API?
Что ж, ответ - вы не можете, Но! Если вы за то, чтобы сделать что-то поскальпированное, то ответ определенно - да!
Но как?
Все мы знаем, что очистка требует больших усилий, потому что вещи меняются очень часто. и если вас это не волнует, ниже приведен пример сценария PHP для получения данных барабанов в JSON.
<?php
//!IMPORTANT
$sessionid = ["Cookie: sessionid=YOUR SESSION ID HERE"];
// REELS SHORT CODE FROM URL
$shortcode = null;
$response = [];
/**
* Get a web file (HTML, XHTML, XML, image, etc.) from a URL. Return an
* array containing the HTTP server response header fields and content.
*/
function get_web_page($url)
{
$user_agent = 'Mozilla/5.0 (Windows NT 6.1; rv:8.0) Gecko/20100101 Firefox/8.0';
$options = array(
CURLOPT_CUSTOMREQUEST => "GET", //set request type post or get
CURLOPT_POST => false, //set to GET
CURLOPT_USERAGENT => $user_agent, //set user agent
# CURLOPT_COOKIEFILE => "cookie.txt", //set cookie file
# CURLOPT_COOKIEJAR => "cookie.txt", //set cookie jar
CURLOPT_HTTPHEADER => $sessionid, // sending manually set cookie
CURLOPT_RETURNTRANSFER => true, // return web page
CURLOPT_HEADER => false, // don't return headers
CURLOPT_FOLLOWLOCATION => true, // follow redirects
CURLOPT_ENCODING => "", // handle all encodings
CURLOPT_AUTOREFERER => true, // set referer on redirect
CURLOPT_CONNECTTIMEOUT => 120, // timeout on connect
CURLOPT_TIMEOUT => 120, // timeout on response
CURLOPT_MAXREDIRS => 10, // stop after 10 redirects
);
$ch = curl_init($url);
curl_setopt_array($ch, $options);
$content = curl_exec($ch);
$err = curl_errno($ch);
$errmsg = curl_error($ch);
$header = curl_getinfo($ch);
curl_close($ch);
$header['errno'] = $err;
$header['errmsg'] = $errmsg;
$header['content'] = $content;
return $header;
}
if ((isset($_GET['q'])) && !empty($_GET['q'])) {
$shortcode = $_GET['q'];
$reels_url = "https://www.instagram.com/p/$shortcode/?__a=1";
// read a web page and check for errors:
$result = get_web_page($reels_url);
if ($result['errno'] != 0) {
$response = json_encode(['error' => "bad url, timeout, redirect loop"]);
}
if ($result['http_code'] != 200) {
$response = json_encode(['error' => "no page, no permissions, no service"]);
}
if ($result['http_code'] === 200) {
$response = $result['content'];
}
}
// JSON OUTPUT OR ERROR HERE
header('Content-Type: application/json');
echo $response;
Как использовать этот скрипт PHP?
Сохраните приведенный выше сценарий в файле PHP, например
fetch-reels.php
и запустите его как http://localhost/fetch-reels.php?q={SHORT-CODE}
URL-адрес барабанов, например
Meta только что выпустила Reels API для платформы Instagram.
https://developers.facebook.com/blog/post/2022/06/27/introduction-reels-apis-to-instagram-platform/
Обновление (14 июля 2022 г.): Meta (Facebook) запустила поддержку Reels через свой официальный Graph API. Подробнее об этом читайте здесь: https://developers.facebook.com/docs/instagram-api/reference/ig-user/media#reel-specifications .