Twitter ombouwen naar oAuth

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Justin S

Justin S

26/06/2010 11:34:29
Quote Anchor link
Beste,

Ik heb een probleem met de oAuth authenticatie methodes van Twitter.
Ik wil iets heel simpels doen. Ik wil mijn eigen home_timeline weergeven op een website. Echter heb je hier dus authenticatie voor nodig, wat nu nog kan met cURL door simpel USERNAME:PASSWORD in te voeren in een CURL_SETOPT. Maar die ondersteuning vervalt officieel per 18 augustus en is vanaf dan niet meer beschikbaar.

Ik heb nu met diverse oAuth libraries geprobeert contact te maken met twitter en zodoende mijn home_timeline op te vragen. Echter kan dit niet, zonder dat de gebruiker inlogt. Iets wat niet echt user-friendly is.
Ik wil gewoon met mijn credentials inloggen bij twitter en mijn eigen tweets laten zien op een website.
Ik heb heel het web afgestruind op zoek naar een tutorial of voorbeeld, maar er valt niks te vinden.

Heeft iemand een snippet, stuk code, advies of een tutorial. Ik hoor het heel graag!
 
PHP hulp

PHP hulp

24/12/2024 14:07:40
 
Noppes Homeland

Noppes Homeland

26/06/2010 11:53:35
 
Justin S

Justin S

26/06/2010 12:06:35
Quote Anchor link
Welke van al die bestanden moet ik downloaden? Alleen wat in het mapje Twitter staat?
Ik zie dat er een oAuth.php geinclude wordt?
 
Noppes Homeland

Noppes Homeland

26/06/2010 12:11:40
Quote Anchor link
Volgens mij heb je het gehele package nodig
 
Justin S

Justin S

26/06/2010 12:14:45
Quote Anchor link
Wat ik wel zie is dat hij alleen de public timeline opvraagt. Daar hoef je ook niet voor te authentificeren, dat is een onbeveiligde xml of json feed. Heb je deze zelf gebruikt om je eigen home_timeline op te vragen?
 
Noppes Homeland

Noppes Homeland

26/06/2010 12:27:15
Quote Anchor link
Nee jij zocht ik vond (?)

In veel gevallen zal ik zo iets downloaden in het geheel en kijken hoe het in elkaar steekt en dan herschrijven naar wat bruikbaars
 
Justin S

Justin S

26/06/2010 12:28:56
Quote Anchor link
Ga er eens naar kijken! Bedankt i.i.g.

Edit: Werkt niet, dit script zit veel te moeilijk in elkaar en kan niet echt achterhalen welk
bestand ik nou moet includen om oauth werkend te krijgen.


Edit 2: Ik heb gebruik gemaakt van de standaard twitter oAuth library door ene Abraham.
Daarmee heb ik voor elkaar gekregen om onder mijn eigen acces_key authentication te krijgen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?php

    require_once 'twitteroauth.php';
    
    $consumerKey        =    'key';
    $consumerSecret        =    'secret';
    $oauthToken            =    'token';
    $oauthSecret        =    'tokensecret';
    
    $connection         =     new TwitterOAuth($consumerKey, $consumerSecret, $oauthToken, $oauthSecret);
    $content             =     $connection->get('account/verify_credentials');
    
    $content = $connection->get('account/rate_limit_status');
    echo "Current API hits remaining: {$content->remaining_hits}.";

    $timeline    =    $connection->get('statuses/friends_timeline');
    
    // Load results from twitter
    /*foreach($timeline as $tweet)
        {
            echo    '<div>';
            echo    $tweet->text;
            echo    '</div>';
        }
    */

    echo '<pre>';
    print_r($timeline);
    echo '</pre>';
?>


Aan deze techniek zit echter een nadeel. Hij maakt 2x een API call, en je mag er maximaal 175 per uur, dus hij kan slechts getoond worden aan 87 bezoekers per uur.

Ikzelf heb hiervoor de oplossing gevonden door de tweets in de database op te slaan, en per minuut te checken op updates. zijn er geen updates, dan de "oude" tweets inladen vanaf de database, zijn er nieuwe, eerst de database updaten en de nieuwe resultaten laten zien. zodoende doe ik maar 60 calls per uur. Mocht het per ongeluk fout gaan doordat er 2 personen tegelijk op de website landen, is er een reserve van 17 calls per uur, dus dat moet haalbaar zijn.

Overigens, voor de feeds waar geen authenticatie voor nodig is zoals de user_timeline en de public_timeline, kan je mijn script (dat hier te vinden is) gewoon gebruiken, de cURL wijze van de XML feeds opvragen blijft namelijk wel gewoon bestaan aangezien oAuth hier ook gewoon nog gebruik van maakt, echter alleen de authenticatievorm is anders.

Bedankt voor je hulp Noppes, ik hoop dat anderen iets aan deze post hebben!
Gewijzigd op 27/06/2010 11:35:36 door Justin S
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.