Возьмите фото Instagram на основе хэштегов
Я новичок в Instagram, и мне поручено запрограммировать приложение для загрузки фотографий Instagram на основе определенного хэштега. Это означает, что если приложение запущено и ищет хэштег "#awesomeevent", который загружает фотографию с этими хэштегами, она автоматически сохраняется в нашей базе данных.
Приложение должно работать примерно так же, как http://statigr.am/tag/ но вместо отображения фотографий оно должно сохранять фотографии в базе данных.
Каков процесс этого? Любые учебники, которые имеют это от начала до конца. Даже рассказ о том, как начать создавать приложение Instagram с нуля. любая помощь будет принята с благодарностью.
Спасибо
4 ответа
Разработчики часто упускают из виду положения и условия API. Я был там сам.
УСЛОВИЯ ИСПОЛЬЗОВАНИЯ API
Прежде чем вы начнете использовать API, у нас есть несколько рекомендаций, о которых мы хотели бы вам рассказать. Пожалуйста, не забудьте прочитать полные Условия использования API
Условия эксплуатации. Вот что вы прочтете:
Пользователи Instagram владеют своими изображениями. Вы несете ответственность за соблюдение этого права.
Вы не можете использовать имя Instagram в вашем приложении.
Вы не можете использовать Instagram API для сканирования или хранения изображений пользователей без их явного согласия.
Вы не можете повторить основной пользовательский опыт Instagram.com
Не злоупотребляйте API. Слишком много запросов слишком быстро отключат ваш доступ
Тем не менее, часть в терминах также утверждает, что:
- Вы не должны кэшировать или хранить какие-либо фотографии пользователей Instagram, за исключением разумных периодов времени, для предоставления услуг, которые вы предоставляете пользователям Instagram.
Надеюсь, это начало, прежде чем вы на самом деле получите кодирование и хранение изображений.
Условия использования API: http://instagram.com/about/legal/terms/api/
Для начала посоветуйтесь с instagram api.
Что касается конкретного API, вам нужно это:
/tags/tag-name/media/recent
Например, если вы хотите искать изображения из тега #awesomeevent
, вы будете делать запрос API для:
https://api.instagram.com/v1/tags/awesomeevent/media/recent?access_token=ACCESS-TOKEN
Я бы посмотрел на две библиотеки, которые предоставляет Instagram. Библиотека ruby находится по адресу https://github.com/Instagram/instagram-ruby-gem а библиотека python - по адресу https://github.com/Instagram/python-instagram
Похоже, у них обоих есть примеры, с которых можно начать, если вы программируете с любой из библиотек.
Что касается проблемы хранения, могли бы вы вместо этого хранить URL-адрес изображений вместо самих изображений? API возвращает JSON-информацию, из которой возвращаются URL-адреса изображений.
Надеюсь, это поможет.
Вы можете использовать приведенный ниже скрипт ruby, чтобы получить изображения и сохранить их в файл. Затем вы можете либо ссылаться на файл в базе данных, либо заменить последний блок кодом для вашей конкретной реализации базы данных. Не зная вашего типа базы данных и схемы, никто не может сказать вам, как что-то добавить к ней.
require "instagram"
require "restclient"
Instagram.configure do |config|
config.client_id = INSTAGRAM_CLIENT_ID
config.client_secret = INSTAGRAM_CLIENT_SECRET
end
instagram_client = Instagram.client(:access_token => INSTAGRAM_ACCESS_TOKEN)
tags = instagram_client.tag_search('cat')
urls = Array.new
for media_item in instagram_client.tag_recent_media(tags[0].name)
urls << media_item.images.standard_resolution.url
end
urls.each_with_index do |url, idx|
image = RestClient.get(url)
path = Dir.pwd + "/#{idx}.jpg"
File.open(path, 'w') {|f| f.write(image) }
end