Nota: pe 17 noiembrie 2015 Instagram a modificat API-ul lor. Aplicatiile create inainte de 17 noiembrie 2015 nu vor fi afectate pana in iunie 2016. Aplicatiile create inainte sau dupa 17 noiembrie 2015 vor trebui sa utilizeze API-ul actualizat. Retineti ca aceasta biblioteca nu accepta inca noile lor actualizari. Pentru mai multe informatii, va rugam sa consultati # 182.

Un wrapper PHP pentru API-ul Instagram. Feedback-ul sau rapoartele de erori sunt apreciate.

Pachet compozitor disponibil.

Suporta videoclipuri Instagram si antet semnat.

Cerinte

  • PHP 5.3 sau mai mare
  • rasuci
  • Aplicatia Instagram inregistrata

Incepe

Pentru a utiliza API-ul Instagram trebuie sa va inregistrati ca dezvoltator pe platforma pentru dezvoltatori Instagram si sa creati o aplicatie. Aruncati o privire la instructiunile uri inainte de a inregistra un URI de redirectionare. Veti primi client_id si client_secret.

Retineti ca Instagram se refera in principal la »Clienti« in loc de »Aplicatii«. Deci, “ID-ul clientului” si “Secretul clientului” sunt aceleasi cu »Cheia aplicatiei« si »Secretul aplicatiei«.

Un loc bun pentru a incepe este exemplul de proiect.

Instalare

Va sfatuiesc cu tarie sa utilizati Composer pentru a mentine actualizarile cat mai usoare.

$ compozitor necesita cosenar / instagram

Initializati clasa

utilizati MetzWeb \ Instagram \ Instagram; $ instagram = Instagram nou (matrice (‘apiKey’ => ‘YOUR_APP_KEY’, ‘apiSecret’ => ‘YOUR_APP_SECRET’, ‘apiCallback’ => ‘YOUR_APP_CALLBACK’)); ecou „<a href='{$instagram-> getLoginUrl ()} ‘> Conectati-va cu Instagram </a>”;

Autentificati utilizatorul (OAuth2)

// apucati codul de apelare OAuth $ code = $ _GET [‘code’]; $ date = $ instagram-> getOAuthToken ($ code); ecou „Numele dvs. de utilizator este:”. $ date-> utilizator-> nume de utilizator;

Obtineti aprecieri ale utilizatorilor

// setati jetonul de acces al utilizatorului $ instagram-> setAccessToken ($ date); // obtineti toate aprecierile utilizatorilor $ likes = $ instagram-> getUserLikes (); // aruncati o privire la ecoul raspunsului API „<pre>”; print_r ($ aprecieri); ecou „<pre>”;

Toate metodele returneaza datele API json_decode () – astfel incat sa puteti accesa direct datele.

Metode disponibile

Configurati Instagram

Instagram nou (<matricea> / <sir>);

matrice daca doriti sa autentificati un utilizator si sa accesati datele acestuia:

Instagram nou (array (‘apiKey’ => ‘YOUR_APP_KEY’, ‘apiSecret’ => ‘YOUR_APP_SECRET’, ‘apiCallback’ => ‘YOUR_APP_CALLBACK’));

sir daca doriti sa accesati doar date publice:

nou Instagram („YOUR_APP_KEY”);

Obtineti adresa URL de autentificare

getLoginUrl (<matrice>)

getLoginUrl (matrice („de baza”, „aprecieri”));

Parametri de domeniu optionali:

Domeniul de aplicare Legenda Metode de baza pentru a utiliza toate metodele legate de utilizator [implicit] getUser (), getUserFeed (), getUserFollower () etc. () comentarii pentru a crea sau sterge comentarii getMediaComments (), addMediaComment (), deleteMediaComment ()

Obtineti jetonul OAuth

getOAuthToken ($ code, <true> / <false>)

true: Returneaza numai simbolul OAuth

false [implicit] : Returneaza simbolul OAuth si datele de profil ale utilizatorului autentificat

Setati / Obtineti jeton de acces

  • Setati jetonul de acces, pentru alte apeluri de metoda: setAccessToken ($ token)
  • Obtineti jetonul de acces, daca doriti sa il stocati pentru o utilizare ulterioara: getAccessToken ()

Metode de utilizare

Metode publice

  • getUser ($ id)
  • searchUser ($ nume, <$ limita>)
  • getUserMedia ($ id, <$ limit>)

Metode autentificate

  • getUser ()
  • getUserLikes (<$ limit>)
  • getUserFeed (<$ limit>)
  • getUserMedia (<$ id>, <$ limit>)
    • daca un $ id nu este definit sau este egal cu „sine”, acesta returneaza media utilizatorului conectat

Exemple de raspunsuri ale punctelor finale ale utilizatorului.

Metode de relationare

Metode autentificate

  • getUserFollows ($ id, <$ limit>)
  • getUserFollower ($ id, <$ limit>)
  • getUserRelationship ($ id)
  • changeRelationship ($ actiune, $ utilizator)
    • $ action: Comanda de actiune (urmati / anulati urmarirea / blocati / deblocati / aprobati / refuzati)
    • $ utilizator: identificare utilizator vizat
// Urmariti utilizatorul cu ID-ul 1574083 $ instagram-> modificaRelationship („urmati”, 1574083);

Va rugam sa retineti ca metoda modificareRelationship () necesita sfera relatiilor.

Exemple de raspunsuri ale obiectivelor relatiei.

Metode media

Metode publice

Exemple de raspunsuri ale punctelor finale media.

Metode de comentarii

Metode publice

  • getMediaComments ($ id)

Metode autentificate

  • addMediaComment ($ id, $ text)
    • acces restrictionat: va rugam sa trimiteti un e-mail la apidevelopers [at] instagram.com pentru acces
  • deleteMediaComment ($ id, $ commentID)
    • comentariul trebuie sa fie creat de catre utilizatorul autentificat

Va rugam sa retineti ca metodele autentificate necesita sfera comentariilor.

Exemple de raspunsuri ale punctelor finale ale comentariilor.

Metode de etichetare

Metode publice

  • getTag ($ nume)
  • getTagMedia ($ nume)
  • searchTags ($ name)

Exemple de raspunsuri ale punctelor finale ale etichetei.

Ii place metodele

Metode autentificate

  • getMediaLikes ($ id)
  • likeMedia ($ id)
  • deleteLikedMedia ($ id)

Cum sa va placa un media: Exemplu de utilizare Exemple de raspunsuri ale punctelor finale de aprecieri.

Toti parametrii <…> sunt optionali. Daca limita este nedefinita, toate rezultatele disponibile vor fi returnate.

Videoclipuri Instagram

Intrarile Instagram sunt marcate cu un atribut de tip (imagine sau video), care va permite sa identificati videoclipuri.

Un exemplu despre cum sa incorporati videoclipuri Instagram utilizand Video.js, puteti gasi in folderul / example.

Retineti: in prezent, Instagram nu permite filtrarea videoclipurilor.

Antet semnat

Pentru a preveni ca jetoanele dvs. de acces sa fie furate, Instagram va recomanda sa va semnati solicitarile cu un hash al secretului API, punctul final si parametrii.

  1. Activati „Aplica antetul semnat” in setarile clientului dvs. Instagram.
  2. Activati antetul semnat in clasa dvs. Instagram:
$ instagram-> setSignedHeader (adevarat);
  1. esti gata! Acum, toate cererile dvs. vor fi securizate cu un antet semnat.

Accesati mai multe detalii despre modul in care functioneaza in Documente API API.

Paginare

Fiecare punct final are o gama maxima de rezultate, astfel incat marirea parametrului limita peste limita nu va ajuta (de exemplu, getUserMedia () are o limita de 90).

Acesta este punctul in care functia „paginare” intra in joc. Pur si simplu treceti un obiect in metoda pagination () si primiti urmatorul set de date:

$ photos = $ instagram-> getTagMedia (‘pisoi’); $ rezultat = $ instagram-> paginare ($ fotografii);

Iterare cu bucla do-while.

Exemple de adrese URL de redirectionare

Daca aveti nevoie de informatii suplimentare despre un punct final, aruncati o privire la documentele API-ului Instagram.

Exemplu de aplicatie

Acest exemplu de proiect, situat in exemplu / folder, va ajuta sa incepeti. Codul este bine documentat si va conduce prin toti pasii necesari ai procesului OAuth2. Creditul pentru minunatele icoane Instagram ii revine lui Ricardo de Zoete Pro.

Mai multe exemple si tutoriale:

  • Utilizatorului ii place
  • Urmariti utilizatorul
  • Urmaritor utilizator
  • Incarca mai mult buton
  • Cele mai recente media ale utilizatorului
  • Conectare Instagram
  • Inscriere Instagram (tutorial 9lessons)
  • Laravel Wrapper

Spuneti-mi daca trebuie sa partajati si un exemplu de cod.

Jurnal de schimbari

Va rugam sa consultati fisierul cu modificari pentru mai multe informatii.

credite

Copyright (c) 2011-2015 – Programat de Christian Metz

Eliberat sub licenta BSD.