hvordan giver brugerne twitter oauth

, hvordan giver brugerne twitter oauth,,,,, 23,,,,,,,,, 28,,,,,,,,,, det cyber - mandag envato tuts + kurser vil blive reduceret til $3.- og' ikke glip af, fra den 16. august, twitter, ikke længere vil støtte de grundlæggende autentificerings - protokol til platformen.det er den eneste måde, til at autentificere brugere vil være gennem en twitter anvendelse.i denne forelæsning, vil jeg vise dig, hvordan man bruger twitter som et klik autentifikationssystem, ligesom vi gjorde med facebook.,,,, trin 1: oprettelse af anvendelsen, er vi nødt til først at etablere en ny twitter anvendelse.,, registrerer en ny app på dev.twitter. kom /sikkerhed, fyld inden for deres område i bare være sikker på at vælge, om i anvendelsen, og satte, callback url, til noget, der lignerhttp://localhost.com/twitter_login.php, (http: ///////////////localhost, kan ikke accepteres, fordi det har ikke et domænenavn).endelig, udvælge, læs & skrive.udfyld captcha, klik "register anvendelse", og accepterer betingelserne for tjeneste.,,, vil du se skærmen som vist nedenfor.,, vi anvender, forbrugernes centrale, og forbrugernes hemmelighed, værdier, kort. nu, at det er gjort, lad os hente et bibliotek.så vi vil være kodning med folkesundhedsprogrammet, er det den bedste er twitteroauth; men hvis du bruger et andet sprog, vil du finde andre gode biblioteker.find den, twitteroauth, fortegnelse i zip fil og ekstrakt i din ansøgning er mappe. endelig, eftersom vi bruger twitter giver brugerne, får vi brug for en database, tabel opbevarer disse brugere.her er et kort eksempel på, hvad vi vil gøre. skabe tabel er brugere ("id" int (10) ikke underskrevet, ikke er auto_increment, er oauth_provider er varchar (10), er oauth_uid er tekst, er oauth_token er tekst, er oauth_secret er tekst, "brugernavn er tekst, primære nøgle (id") - motor) = myisam misligholdelse charset = latin1;, mærke, oauth_token, og oauth_secret, områder.twitter er oauth kræver bevis, og en, token_secret, værdier, til at autentificere brugerne, så det er derfor, vi er med dem.med det, vi er færdige med det her.,, trin 2: registrering af brugere i dette skridt, som vi vil gøre tre ting:,, anmoder om tilladelse fra twitter., registrering eller, hvis de bruger allerede er registreret, skovning brugeren i., fastsættelse af data i en samling, der anmodes om tilladelse, oauth workflow begynder ved at skabe en url for anmodningen; brugeren er omdirigeret til at url og bad om tilladelse.efter, at den ansøgning registret omdirigerer tilbage til vores server med to mønter på url parametre, som er nødvendige for autentifikation. lad os begynde med biblioteket og starte en samling kontaktperson. kræver ("twitteroauth /twitteroauth. folkesundhedsprogrammet"); session_start(); efter det, lad os skabe en ny twitteroauth f.eks. giver forbrugeren afgørende og forbrugernes hemmelighed, at twitter gav os, da vi skabte anvendelse.så vil vi anmode om autentificering møntefterligninger og gemmer dem til forsamlingen og omdirigerer brugeren til twitter om tilladelse. //den twitteroauth instans $twitteroauth = nye twitteroauth ('your_consumer_key "," your_consumer_secret); //anmoder om autentificering møntefterligninger, parameter er url, vi vil blive omdirigeret til $request_token = $twitteroauth - > getrequesttoken ('http: //////////////localhost. kom /twitter_oauth. folkesundhedsprogrammet); //gemt dem i møde, $_session ['oauth_token '] = $request_token ['oauth_token'] $_session ['oauth_token_secret '] = $request_token ['oauth_token_secret']; //, hvis alt går vel.hvis ($twitteroauth - > http_code = = 200) (//- lad os skabe url og omdirigere $url = $twitteroauth - > getauthorizeurl ($request_token ['oauth_token ']); header ('location: «.$url)} andre (//- det er en dårlig idé at dræbe manuskriptet, men vi er nødt til at vide, når der er en fejl.dø ('something fejl skete. ");}, gem det, som twitter_login. php, gå tilhttp://localhost.com/twitter_login.php eller hvad dit navn er lokale vært.hvis det var rigtigt, skal du blive omdirigeret til twitter.com, og du skulle se sådan noget.,, klik tillader det, og du vil blive omdirigeret tilhttp://localhost.com/twitter_oauth.php, - - siden vi satte denne url som en parameter i den, getrequesttoken, erklæring.vi har ikke skabt den fil, så det burde smide en fejl.skabe den fil, og så omfatte biblioteket og starte en samling, som vi gjorde i den første fil. efter det, vi har brug for tre ting:,, men verifikator i url søgning i data, men tegn fra mødet, men hemmeligt for samling, så den første ting at gøre i manuskriptet er validering af data og omdirigere, hvis en af disse variabler er tomme. hvis (!tom ($_get ['oauth_verifier ']) & &!tom ($_session ['oauth_token ']) & &!tom ($_session ['oauth_token_secret '])) (//- vi har alt, vi behøver} andre (//mangler noget, så gå tilbage til firkant 1 header ('location: twitter_login. folkesundhedsprogrammet)), hvis det er fastsat i den betingede, vi vil skabe de twitteroauth instans, men med beviset fik vi lige som tredje og fjerde parametre; efter det, vi vil få adgang til tegn, der er et system.dette bevis er den, vi skal redde til databasen.til sidst vil vi lave en hurtig test for at se, om det virker. //twitteroauth instans, med to nye parametre, vi har i twitter_login.php $twitteroauth = nye twitteroauth ('your_consumer_key "," your_consumer_secret, $_session ['oauth_token "$_session ['oauth_token_secret ']) //- lad os anmode om adgang symbolsk $access_token = $twitteroauth - > getaccesstoken ($_get ['oauth_verifier']); //redde det på et møde var $_session ['access_token '] = $access_token; //- brugerens info $user_info = $twitteroauth - > kom ('account /verify_credentials'); //print bruger - info print_r ($user_info), hvis noget går galt, print_r, bør vise brugerens data.du kan få brugerens id med $user_info - > id, hans eller hendes brugernavn med $user_info - > screen_name, og der er en masse andre oplysninger i der. er det meget vigtigt at indse, at de, oauth_verifier, har ikke været brugt før.hvis du ser på brugerens info korrekt, og så lade den side, det vil kaste en fejl, eftersom denne variabel er blevet anvendt.bare gå tilbage til, twitter_login.php, og det vil automatisk skaber en ny brik., registrering af brugere, nu hvor vi har brugeren er informationer, vi kan gå videre og registrere dem, men først skal vi kontrollere, hvis de findes i vores database.lad os begynde med forbindelse til databasen.tilføje disse linjer i manuskriptet er begyndt. mysql_connect ('localhost "," your_username "," your_password '); mysql_select_db ('your_database), ændre databasen info, som kræves.nu, lige under, hvor vi hente bruger - info, vi bliver nødt til at tjekke for brugeren i vores database.hvis han eller hun ikke er der, vi kommer ind i info.hvis brugeren er registreret, skal vi opdatere tokens, da twitter har skabt nye problemer, og dem, vi har i databasen er ubrugelig.endelig lægger vi bruger - info til møde vars og omdirigere til, twitter_update. php,., hvis (isset ($user_info - > fejl)) (//, noget er galt, gå tilbage til firkant 1 header ('location: twitter_login. folkesundhedsprogrammet)} andre (//- find brugeren af sit id $forespørgsel = mysql_query ("vælg * fra brugere, hvor oauth_provider = twitter og oauth_uid =".$user_info - > id); $resultat = mysql_fetch_array ($spørgsmål); //, hvis ikke, så lad os tilføje det til databasen, hvis (tomme ($resultat)) ($forespørgsel = mysql_query ("indsætte i brugere (oauth_provider, oauth_uid, brugernavn, oauth_token, oauth_secret) - værdier ('twitter", ($user_info - > id), ($user_info - > screen_name) "," ($access_token ['oauth_token ']) "," ($access_token ['oauth_token_secret']}) "); $forespørgsel = mysql_query (" vælg * fra brugere, hvor id = ".mysql_insert_id()); $resultat = mysql_fetch_array ($søgning)} andre (//opdatere møntefterligninger $forespørgsel = mysql_query ("ajourføring af brugere, der oauth_token = ($access_token ['oauth_token ']}, oauth_secret = ($access_token ['oauth_token_secret']}", hvor oauth_provider = twitter og oauth_uid = {$user_info - > id) ");} $_session ['id '] = $resultat ['id'] $_session ['username '] = $resultat ['username'] $_session ['oauth_uid '] = $resultat ['oauth_uid'] $_session ['oauth_provider '] = $resultat ['oauth_provider'] $_session ['oauth_token '] = $resultat ['oauth_token'] $_session ['oauth_secret '] = $resultat ['oauth_secret'] header ('location: twitter_update. folkesundhedsprogrammet)}, opmærksom på, at disse spørgsmål ikke er valideretog hvis du forlader dem, som de er, du forlader din database sårbare.endelig under database sammenhæng, og vi bør fastsætte en kontrol for at verificere, at brugeren er logget på. hvis (!tom ($_session ['username '])) (//brugeren er registreret, omlægge header ('location: twitter_update. folkesundhedsprogrammet)}, kan du hilse på brugeren af hans eller hendes brugernavn. < h2 > - <?= (!tom ($_session ['username ']).@ ".$_session ['username ']: "gæst").> < /h2 > lad os komme over på den sjove side: en ajourføring efter og læsning.,, trin 3: læse status, der er over 20 kategorier af ressourcer til rådighed: tidslinje, beskeder, brugere, tendenser, lister direkte budskaber osv. de har en masse metoder kan du se dem alle i den officielle dokumentation.vi tager til de grundlæggende værdier, som de fleste af disse elementer er tilgængelige på samme måde. ligesom de andre to manuskripter, vi bliver nødt til at skabe twitteroauth instans, herunder variabler i møde. hvis (!tom ($_session ['username '])) ($twitteroauth = nye twitteroauth ('your_consumer_key "," your_consumer_secret, $_session ['oauth_token "$_session ['oauth_secret']);}, vi begynder med brugerens tidslinje.den, der fortæller os, at den vej, er status /home_timeline, og ignorere, version, og format, biblioteket vil tage sig af det. $home_timeline = $twitteroauth - > kom ('statuses /home_timeline '); print_r ($home_timeline), som vil få dig en tidslinje.du kan hente hver post med en, for hvert, loop.henvisningen angiver en række fakultative parametre, som tæller,, som grænser, hvor mange beskeder, vil være ude.faktisk får, er andet parameter er en vifte af enhver mulighed for, - - så hvis du vil hente de seneste 40 beskeder, her er den kode: $home_timeline = $twitteroauth - > kom ('statuses /home_timeline, system ('count = > 40), og kan du se en anden tidslinje, så længe det er ikke beskyttet., status /user_timeline, kræver enten en bruger - id eller skærmnavn.hvis du vil se @ nettuts tidslinje, du bliver nødt til at anvende følgende indlæg: $nettuts_timeline = $twitteroauth - > kom ('statuses /user_timeline, system ('screen_name = > nettuts "), som du kan se, efter at have bekræftet, at læse tidsfrister er en brise.,, trin 4: venskaber med venskaber, du kan kontrollere det, hvis brugeren følger en anden samt følge eller unfollow andre brugere.dette indlæg vil undersøge, om du er efter mig og vil skabe den følge, hvis det ikke. men først kontrollere, venskaber /eksisterer, og venskaber /skabe, reference.bemærker noget?, venskaber /skabe, metode er post.heldigvis har biblioteket indeholder en, post(), funktion, der fungerer som den, get(), funktion og den vigtigste forskel er, at get(), er til behandling, og post(), er til at skabe, slette eller ajourføring.men, venskaber /findes, kræver to parametre:, user_a, og user_b, og venskaber /skabe, kræver kun én, screen_name, eller, user_id,. $follows_faelazo = $twitteroauth - > kom ('friendships /eksisterer, system ('user_a = > $_session ['username '], user_b = > faelazo')); hvis (!$follows_faelazo) (echo, du følger ikke @ faelazo! "og $twitteroauth - > post ('friendships /skabe "system ('screen_name = > faelazo ')), kan du unfollow en bruger med stort set samme kode, der skaber en følge, erstatte, skabe, med at ødelægge,: $follows_faelazo = $twitteroauth - > kom ('friendships /eksisterer, system ('user_a = > $_session ['username'], user_b = > faelazo ')); hvis ($follows_faelazo) (echo' du er følgende @ faelazo!gå til unfollow. $twitteroauth - > post ('friendships /ødelægge, system ('screen_name = > faelazo ')}, løntrin 5: udstationering opdateringer, dette er formentlig det mest interessante punkt, da det er twitter er kernen: udstationering en ajourføring, som du kan har forestillet sig, er ret ligetil.stien er status /opdatering, er metoden post (siden vi ikke behandling), og den krævede argument er status. $twitteroauth - > post ('statuses /ajourføring, system ('status = > "hej nettuts + «), gå nu din twitter profil side, og du vil se din tweet.,,, lad os retweet @ nettuts "ajourføring om html 5 konkurrence; status id er 19706871538, og henvisningen fortæller os, at den vej, er status /retweet /: id, hvor: id, del er status id - vil vi videresender.den metode, der er post - og det kræver ikke yderligere parametre. $twitteroauth - > post ('statuses /retweet /19706871538 "), for at slette en tweet, du er nødt til at give den status, id, ødelægger du i første parameter, som videresender.hvis tweet 's id er 123456789 koden til at ødelægge er. $twitteroauth - > post ('statuses /ødelægge /123456789); naturligvis denne kode kan kun slette tweets fra autentificeret bruger.,, konklusioner, twitter er api er let at forstå, det er alt mere veldokumenteret end facebook er (selv om facebook giver en intern bibliotek).desværre, autentificering, ikke er så glat, som vi havde håbet, afhængigt af samling data. en ting er værd at bemærke, at når en twitter bruger har godkendt (under forudsætning af app 'en har læse og skrive tilladelser), du har masser af kontrol over denne konto.hvis du ændrer noget på vegne af brugeren uden hans tilladelse, du vil skabe problemer.brug den med omtanke.de api ændringer kommer til twitter vil nægte grundlæggende autentificerings - og twitter fokuserer på at stoppe utallige svindelnumre det trick brugere til at opgive deres login akkreditiver.oauth er løsningen, og hvis du har arbejdet gennem facebook forbinder ministeriet, kan du give din hjemmeside eller app brugere med en hurtig ind uden id, med dit valg af de to mest anvendte sociale netværk.hvor er det sejt?,






Previous:
Next Page: