Где мне найти Instagram ИД медиа образа

Я'м ищу mediaid существует изображения Instagram, который был загружен. Это должно выглядеть

1234567894561231236_33215652

Я узнал последний набор чисел, как пользовательsid`

Например: это ссылка для изображения напрямую, однако я не вижу никаких `mediaid существует в правильном формате?

http://distilleryimage11.ak.instagram.com/d33aafc8b55d11e2a66b22000a9f09de_7.jpg

а это ссылка

http://instagram.com/p/Y7GF-5vftL/

Я Дон'т хотите использовать API, как все, что мне нужно mediaid существует от выбранного изображения.

Здесь и#39;ы лучшую сторону:

http://api.instagram.com/oembed?url=http://instagram.com/p/Y7GF-5vftL/

Визуализация как JSON-объект, и вы можете легко извлечь медиа ид от него ---

Например, в PHP

$api = file_get_contents("http://api.instagram.com/oembed?url=http://instagram.com/p/Y7‌​GF-5vftL/");      
$apiObj = json_decode($api,true);      
$media_id = $apiObj['media_id'];

Например, в JS

$.ajax({     
    type: 'GET',     
    url: 'http://api.instagram.com/oembed?callback=&url=http://instagram.com/p/Y7GF-5vftL‌​/',     
    cache: false,     
    dataType: 'jsonp',     
    success: function(data) {           
        try{              
            var media_id = data[0].media_id;          
        }catch(err){}   
    } 
});
Комментарии (10)
Решение

Поэтому самым проголосовали то"лучше" и немного устарела, поэтому вот мое редактирование и другие решения:

JavaScript и JQuery с

$.ajax({
    type: 'GET',
    url: 'http://api.instagram.com/oembed?callback=&url='+Url, //You must define 'Url' for yourself
    cache: false,
    dataType: 'json',
    jsonp: false,
    success: function (data) {
       var MediaID = data.media_id;
   }
});

РНР

$your_url = "" //Input your url
$api = file_get_contents("http://api.instagram.com/oembed?callback=&url=" . your_url);      
$media_id = json_decode($api,true)['media_id'];

Таким образом, это просто обновленная версия @Джордж's код и сейчас работает. Тем не менее, я принял другие решения, а некоторые даже избегать AJAX-запрос:

<ч/>

Решение Аякс Шорткод

Определенные url Instagram использовать сокращенный синтаксис url. Это позволяет клиенту использовать шорткод в код медиа, если просила правильно.

Пример шорткода URL-адрес выглядит следующим образом: https://www.instagram.com/p/Y7GF-5vftL/

В `Y7GF-5vftL-ваш шорткод для картины.

С Помощью Регулярных Выражений:

var url = "https://www.instagram.com/p/Y7GF-5vftL/"; //Define this yourself
var Key = /p\/(.*?)\/$/.exec(url)[1];

В той же области, "ключ" будет содержать свой шорткод. Теперь запрос, пусть'ы сказать, низкое разрешение изображения, используя этот код, вы могли бы сделать нечто вроде следующего:

    $.ajax({
        type: "GET",
        dataType: "json",
        url: "https://api.instagram.com/v1/media/shortcode/" + Key + "?access_token=" + access_token, //Define your 'access_token'
        success: function (RawData) {
            var LowResURL = RawData.data.images.low_resolution.url;
        }
    });

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

<ч/>

Решение Преобразования Шорткод

Вы действительно можете превратить ваш шорткод в код довольно легко! Здесь'простой способ сделать это в JavaScript:

function shortcodeToInstaID(Shortcode) {
      var char;
      var id = 0;
      var alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_';
      for (var i = 0; i < Shortcode.length; i++) {
          char = Shortcode[i];
          id = (id * 64) + alphabet.indexOf(char);
      }
      return id;
  }

Примечание: Если вы хотите более надежное решение Node.js или хотите посмотреть, как бы вы преобразовать его обратно, проверить @сленг'ы [модуль НПМ][1].

<ч/>

Полное Решение Страниц

Так что если у вас есть ссылка на полную страницу Instagram как: https://www.instagram.com/p/BAYYJBwi0Tssh605CJP2bmSuRpm_Jt7V_S8q9A0/

Ну, вы на самом деле можете прочитать в HTML, чтобы найти мета свойства, которое содержит идентификатор носителя. Есть также несколько других алгоритмов, которые можно выполнять на самого URL-адреса, чтобы получить его, но я считаю, что требует слишком много усилий, так что мы будем держать его простым. Либо [запрос мета-тег][2] Аль:для iOS:URL-адрес или перебирать в формате HTML. Поскольку значение метатегов разносится по всему, я'МР показать вам, как перебирать.

Примечание: это немного нестабилен и уязвим, чтобы быть исправленными. Этот метод не работает на странице, которая используется в окне предварительного просмотра. Так что если вы даете ему текущего HTML при нажатии на картинку в чьем-то'ы профиль, это будет перерыв и возвращаться плохая ИД медиа.


function getMediaId(HTML_String) {
  var MediaID = "";
  var e = HTML_String.indexOf("al:ios:url") + 42; //HTML_String is a variable that contains all of the HTML text as a string for the current document. There are many different ways to retrieve this so look one up. 
  for (var i = e; i 
Комментарии (0)

Здесь'ы даже лучше так:

Никаких вызовов API! И я бросил в конвертировании media_id в короткий в качестве дополнительного бонуса.

На основе сленг'С удивительные работы для выяснения преобразования. Натан'С работа преобразования по основанию 10 в кодировке base64 в PHP. И rgbflawed'ы Работа преобразование его в обратную сторону (с измененным алфавитом). #teameffort

function mediaid_to_shortcode($mediaid){

    if(strpos($mediaid, '_') !== false){
        $pieces = explode('_', $mediaid);
        $mediaid = $pieces[0];
        $userid = $pieces[1];
    }

    $alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_';
    $shortcode = '';
    while($mediaid > 0){
        $remainder = $mediaid % 64;
        $mediaid = ($mediaid-$remainder) / 64;
        $shortcode = $alphabet{$remainder} . $shortcode;
    };

    return $shortcode;

}

function shortcode_to_mediaid($shortcode){

    $alphabet='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_';

    $mediaid = 0;

    foreach(str_split($shortcode) as $letter) {
        $mediaid = ($mediaid*64) + strpos($alphabet, $letter);
    }

    return $mediaid;

}
Комментарии (0)

Вы действительно можете получить mediaid существует из последнего сегмента связи алгоритмически, используя метод, который я написал здесь: http://carrot.is/coding/instagram-ids. Он работает путем сопоставления сегмент URL-адреса, по характер &амп коды; преобразование идентификатора в базу 64 количество.

Например, дал ссылку вы упомянули (http://instagram.com/p/Y7GF-5vftL), мы получим последний сегмент (Y7GF-5vftL), то мы сопоставить его в коды символов с помощью base64 в URL-адрес-безопасная Азбука (24:59:6:5:62:57:47:31:45:11_64). Далее мы преобразуем это число в base64 в основанию 10 (448979387270691659).

А если вы добавите свой userId после_, вы не получите полный ID в указанной форме, но с mediaid существует уникален не идентификатор пользователя, который вы на самом деле можете не указывать идентификатор пользователя, от самых запросов.

Наконец, я сделал Node.js модуль под названием instagram-ИД-в-адрес-сегмент для автоматизации этого преобразования:

convert = require('instagram-id-to-url-segment');
instagramIdToUrlSegment = convert.instagramIdToUrlSegment;
urlSegmentToInstagramId = convert.urlSegmentToInstagramId;

instagramIdToUrlSegment('448979387270691659'); // Y7GF-5vftL
urlSegmentToInstagramId('Y7GF-5vftL'); // 448979387270691659
Комментарии (0)

Попробуйте решение из этого вопрос: https://stackoverflow.com/questions/12682039/how-can-i-get-an-direct-instagram-link-from-a-twitter-entity

вы можете получить только изображения путем добавления /СМИ/ URL-адрес. Используя свой

вы можете даже задать размер,

СОС (эскиз), M (средний), L (большой). По умолчанию м.

так для эскиза: http://instagr.am/p/QC8hWKL_4K/media/?size=t

Комментарии (2)

Идентификатор носителя: 448979387270691659_45818965 Это, как его получить.

  1. Перейти к instgram.com/username.
  2. Выберите фотографию, которую требуется идентификатор.
  3. (Инструкция для Chrome) щелкните правой кнопкой мыши на фото (должно быть всплывающее изображение)
  4. Проверить элемент
  5. Поиск по выделенному тексту, вы должны увидеть нечто вроде этого photo448979387270691659_45818965

Там должно быть ваше удостоверение личности с фотографией.

По какой-то причине, это только кажется, работать с всплывающее окно, а не фактический URL-адрес изображения.

Комментарии (0)

Вот решение на Python, чтобы сделать это без вызова API.

def media_id_to_code(media_id):
    alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_'
    short_code = ''
    while media_id > 0:
        remainder = media_id % 64
        media_id = (media_id-remainder)/64
        short_code = alphabet[remainder] + short_code
    return short_code

def code_to_media_id(short_code):
    alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_'
    media_id = 0;
    for letter in short_code:
        media_id = (media_id*64) + alphabet.index(letter)

    return media_id
Комментарии (2)

В чистом JavaScript (при условии, что ваш браузер может обрабатывать XHRs, который всех основных браузерах, включая ИЕ > 6] можно):

function igurlretrieve(url) {

  var urldsrc = "http://api.instagram.com/oembed?url=" + url;

  //fetch data from URL data source
  var x = new XMLHttpRequest();
  x.open('GET', urldsrc, true);
  x.send();

  //load resulting JSON data as JS object
  var urldata = JSON.parse(x.responseText);

  //reconstruct data as "instagram://" URL that can be opened in iOS app
  var reconsturl = "instagram://media?id=" + urldata.media_id;
  return reconsturl;

}

Если это ваша цель-просто открыв страницу в Instagram iOS-приложение, которое является точно, что это ... это следует делать, особенно если вы Don'т хотим, чтобы терпеть лицензионные сборы.

Комментарии (0)

Если добавить ?__а=1 в конце Instagram общедоступные URL-адреса, вы получаете данные из общедоступного URL-адреса в формате JSON.

Для средств массовой информации изображения из URL сообщения, просто добавьте код запроса в формате JSON в пост URL-адрес:

http://instagram.com/p/Y7GF-5vftL/?__a=1

Ответ будет выглядеть следующим образом ниже. Вы можете легко восстановить картинку из в `"ИД" и параметр в ответе...

{
"graphql": {
"shortcode_media": {
"__typename": "GraphImage",
"id": "448979387270691659",
"shortcode": "Y7GF-5vftL",
"dimensions": {
"height": 612,
"width": 612
},
"gating_info": null,
"fact_check_information": null,
"media_preview": null,
"display_url": "https://scontent-cdt1-1.cdninstagram.com/vp/6d4156d11e92ea1731377ef53324ce28/5E4D451A/t51.2885-15/e15/11324452_400723196800905_116356150_n.jpg?_nc_ht=scontent-cdt1-1.cdninstagram.com&_nc_cat=109",
"display_resources": [
Комментарии (0)

Вы можете использовать шорткод медиа API от instagram. Если вы используете PHP, вы можете использовать следующий код, чтобы получить короткий код с картинки'ы url:

$matches = [];

preg_match('/instagram\.com\/p\/([^\/]*)/i', $url, $matches);

if (count($matches) > 1) {
    $shortcode = $matches[1];
}

Затем отправьте запрос к API, используя маркер доступа (заменить доступа-маркер с маркером)

$apiUrl = sprintf("https://api.instagram.com/v1/media/shortcode/%s?access_token=ACCESS-TOKEN", $shortcode);
Комментарии (2)

редактировать

IOS приложение Instagram уже зарегистрированы на стандартный HTTP-ссылки, чтобы открыть в приложении Instagram, и это методика Deeplink-это уже не нужно.

старые

Свифт 4 коротких-код парсинга решение

private static func instagramDeepLinkFromHTTPLink(_ link: String) -> String? {
    guard let shortcode = link.components(separatedBy: "/").last else { return nil }

    // algorithm from https://stackoverflow.com/a/37246231/337934
    let alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"
    var mediaId: Int = 0
    for (_, char) in shortcode.enumerated() {
        guard let index = alphabet.index(of: char) else { continue }
        mediaId = (mediaId * 64) + index.encodedOffset
    }

    return "instagram://media?id=\(mediaId)"
}
Комментарии (0)

То же самое можно реализовать в Python-

import requests,json

def get_media_id(media_url):
   url = 'https://api.instagram.com/oembed/?callback=&url=' + media_url
   response = requests.get(url).json()
   print(response['media_id'])

get_media_id('MEDIA_URL')
Комментарии (0)

В течение периода мне пришлось извлечь медиа ИД себя довольно часто, поэтому я написал свой собственный сценарий (очень вероятно, что это's на основе некоторых примеров, приведенных здесь). Вместе с другими небольших скриптов я часто используется, я начал загружать их на www.findinstaid.com на мой собственный быстрый доступ.

Я добавил возможность ввести имя пользователя, чтобы получить идентификатор носителя из 12 последних сообщений, или введите URL-адрес, чтобы получить идентификатор носителя конкретного поста.

Если это's удобный, каждый может использовать ссылку (я не'Т есть какие-либо добавляет или любых других денежных интересов в сайте - я только реферальную ссылку на 'аудит' Tab, чтобы www.auditninja.io что я и делаю также, но и на этом сайте, нет добавляет или денежные интересы - просто хобби проектов).

Комментарии (0)

Щелкните правой кнопкой мыши на фото и открыть в новой вкладке/окне. Щелкните правой кнопкой мыши на Проверить элемент. Искать:

instagram://медиа?идентификатор=

Это даст вам:

instagram://медиа?идентификатор=############# /// идентификатор

Полный идентификатор построить из

photoID_userID

Чтобы получить идентификатор пользователя, искать:

instapp:owner_user_id будет в контент=

Комментарии (0)