Главная • Документы • PyPi • Возможности • Установка • Использование • Участники
pystagram — это клиент Python для API Instagram.
Он предоставляет простой и удобный интерфейс для доступа к конечным точкам API Graph и Basic Display.
pip install pystagram
git clone https://github.com/MatthieuThib/pystagram.git
cd pystagram
pip install .
Чтобы использовать API Instagram (Graph API и Basic Display API), необходимы некоторые предварительные условия. Следуйте руководству по началу работы, чтобы настроить свою учетную запись и получить необходимые учетные данные:
Это предоставит вам следующие учетные данные:
API Instagram используют токены доступа для аутентификации запросов. Эти токены привязаны к конкретным разрешениям и могут создаваться для разных целей. Прежде чем вызывать любую конечную точку, убедитесь, что токен доступа имеет необходимые разрешения для запроса конечной точки.
Дополнительную информацию см. на странице «Разрешения».
Публикация СМИ
import os
# Importing the necessary modules
from pystagram import pystagram GraphApi
from pystagram . components . containers import ImageContainer
# Initializing the pystagram GraphApi with the necessary credentials
graph_api = pystagram GraphApi (
app_id = int ( os . getenv ( "APP_ID" )), # The App ID from the environment variables
app_secret = os . getenv ( "APP_SECRET" ), # The App Secret from the environment variables
access_token = os . getenv ( "ACCESS_TOKEN" ), # The Access Token from the environment variables
)
# Creating an ImageContainer with the image URL and caption
container = ImageContainer (
image_url = "https://www.example.com/image.jpg" , # The URL of the image
caption = "your caption #hashtag" , # The caption for the image
# Additional parameters can be added here
)
# Creating a media object with the ImageContainer
response = graph_api . user . media . create ( container )
# Extracting the ID of the created media object
container_id = response . data . get ( "id" )
# Publishing the created media object
graph_api . user . media_publish . create ( container_id = container_id )
Получить пользовательские медиа
import os
from pystagram import pystagram BasicDisplayApi
from pystagram . components . fields import MediaFields
# Instantiate the pystagram BasicDisplayApi class with the necessary credentials
basic_display_api = pystagram BasicDisplayApi (
app_id = int ( os . getenv ( "APP_ID" )), # The App ID from the environment variables
app_secret = os . getenv ( "APP_SECRET" ), # The App Secret from the environment variables
access_token = os . getenv ( "ACCESS_TOKEN" ), # The Access Token from the environment variables
)
# Fetch the user's media from the API
# The get() method sends a GET request to the API and returns the response
response = basic_display_api . user . user_media . get ()
# Extract the user's media data from the response
user_media = response . data . get ( "data" )
Оба API имеют конечные точки с разбиением на страницы, что означает, что ответ на запрос можно разделить на несколько страниц. Библиотека pystagram решает эту проблему, украшая методы конечных точек специальным декоратором @cursor_paginated. При вызове декорированный метод будет перебирать все страницы до тех пор, пока не останется страниц для выборки или пока не будет достигнуто максимальное количество страниц. По умолчанию для максимального количества страниц установлено значение Нет (т. е. нет ограничений), но его можно изменить, передав атрибуту MAX_PAGES класса другое целочисленное значение.
from pystagram import pystagram GraphApi
# Initializing the pystagram GraphApi with the necessary credentials
graph_api = pystagram GraphApi ( ... )
# Set the maximum number of pages to fetch from the API
graph_api . MAX_PAGES = 5
# Request a cursor paginated endpoint
response = graph_api . user . media . get ()