Accueil • Docs • PyPi • Fonctionnalités • Installation • Utilisation • Contributeurs
pystagram est un client python pour les API Instagram.
Il fournit une interface simple et facile à utiliser pour accéder aux points de terminaison des API Graph et Basic Display.
pip install pystagram
git clone https://github.com/MatthieuThib/pystagram.git
cd pystagram
pip install .
Afin d'utiliser les API Instagram (API Graph et API Basic Display), certains prérequis sont requis, suivez le guide de démarrage pour configurer votre compte et obtenir les informations d'identification nécessaires :
Cela vous fournira les informations d'identification suivantes :
Les API Instagram utilisent des jetons d'accès pour authentifier les demandes. Ces jetons sont liés à des autorisations spécifiques et peuvent être générés à différentes fins. Avant d'appeler un point de terminaison, assurez-vous que le jeton d'accès dispose des autorisations nécessaires pour demander le point de terminaison.
Consultez la page Autorisations pour plus d'informations.
Publier un média
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 )
Récupérer les médias utilisateur
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" )
Les deux API comportent des points de terminaison paginés, ce qui signifie que la réponse à une requête peut être divisée en plusieurs pages. La bibliothèque pystagram gère cela en décorant les méthodes des points de terminaison avec un décorateur personnalisé @cursor_paginated. Lorsqu'elle est appelée, la méthode décorée parcourra toutes les pages jusqu'à ce qu'il n'y ait plus de pages à récupérer ou que le nombre maximum de pages soit atteint. Par défaut, le nombre maximum de pages est défini sur Aucun (c'est-à-dire aucune limite), mais il peut être modifié en définissant l'attribut MAX_PAGES de la classe sur une valeur entière différente.
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 ()