2013-06-13 5 views
8

Dzięki wyłączeniu przez Twittera kranu API 1.0 w dniu 6/11/2013, mamy kilka witryn, które obecnie nie wyświetlają osi czasu. Szukałem przykładu "Jeśli to zrobiłeś, teraz rób to". Oto ogłoszenie na Twitterze. https://dev.twitter.com/blog/api-v1-is-retiredPotrzebujesz prostego przykładu z Twitter API w wersji 1.1, aby wyświetlić oś czasu za pomocą jQuery lub C# ASP.NET

Oto, co pierwotnie robiliśmy, aby pokazać oś czasu na Twitterze za pośrednictwem API 1.0.

<div id="twitter"> 
    <ul id="twitter_update_list"></ul> 
    <script type="text/javascript" src="http://twitter.com/javascripts/blogger.js"></script> 
    <script type="text/javascript" src="http://api.twitter.com/1/statuses/user_timeline/companytwitterhandle.json?callback=twitterCallback2&amp;count=1"></script> 
    <div style="float:left;"><a href="https://twitter.com/companytwitterhandle" target="_blank">@companytwitterhandle</a> | </div> 
    <div class="twitterimg">&nbsp;</div> 
</div> 

Początkowo próbowałem zmienić wersję w adresie URL odnośnika JavaScript, tak jak to, co nie działało.

<script type="text/javascript" src="http://api.twitter.com/1.1/statuses/user_timeline/companytwitterhandle.json?callback=twitterCallback2&amp;count=1"></script> 

Potem spojrzał w dokumentacji API Twitterze (https://dev.twitter.com/docs/api/1.1/overview), który nie ma wyraźny przykład przejścia. Nie mam 4 lub 5 godzin, aby zagłębić się w to, lub w ten rozczochrany FAQ (https://dev.twitter.com/docs/faq#17750).

Następnie znalazłem tę dokumentację API dotyczącą osi czasu użytkownika. Więc zmieniłem adres URL ponownie, jak pokazano poniżej. https://dev.twitter.com/docs/api/1.1/get/statuses/user_timeline

<script type="text/javascript" src="https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=companytwitterhandle&amp;count=1"></script> 

To nie działa.

Korzystając z jQuery lub C# ASP.NET MVC, jak mogę zmienić ten interfejs z Twitter API 1.0 na Twitter API 1.1? Moją pierwszą preferencją byłoby wdrożenie strony klienta przeglądarki, jeśli jest to możliwe. Podaj przykład kodu. Dzięki.

Odpowiedz

0

OK, otrzymałem odpowiedź od kolegi, który musiał dokonać podobnej zmiany w mojej firmie. Oto kodowane rozwiązanie. Otrzymał to od firmy, którą zawarliśmy, aby zbudować dla nas nowy interfejs z timeline na Twitterze.

Zobaczysz w atrybucie 18DigitMagicNumberdata-widget-id. Ta liczba jest najwyraźniej związana z naszą obsługą Twittera lub naszą firmą. Nie wiem, jak to się robi.

Jak wskazano, zakontraktowana firma napisała dla nas ten kod, więc nie będę starał się wyjaśnić, co to wszystko robi.

Wyciąłem i wkleiłem to z jednej strony w niepowiązaną stronę i zadziałało natychmiast. Jedyną zmianą było usunięcie rzeczywistego uchwytu firmy i data-widget-id oraz zastąpienie pojedynczego @ z @@, aby uniknąć tego w MVC.

Mam nadzieję, że pomoże to niektórym z was, którzy również migrują do Twittera 1.1. Dzięki.

+0

Wykorzystuje czysty JavaScript, a nie jQuery, jak żądał OP, i nie wydaje się działać. https://jsfiddle.net/3xsjn59u/ –

+0

@WesModes, byłem OP, a ten kod działał w tym czasie. Post ma teraz prawie 3 lata, więc może być już nieaktualny. Nie ma jednak sensu tego robić. :) –

+0

Należy również zauważyć, że przykład skrzypiec ma napis "18digitmagicnumber" przypisany do id-widget-id, a nie prawdziwy numer na Twitterze. Aby ta próbka kodu działała, potrzebny jest prawdziwy numer konta na Twitterze. Kiedy w tym poprzednim pracodawcy nie wydawało mi się rozsądne publikowanie tych informacji. –

0

ten sposób zrobiłem tak:

Proszę zobaczyć moje pytanie i odpowiedź tutaj:

Authenticate and request a user's timeline with Twitter API 1.1 oAuth

Użyj powyższego roztworu i renderować json powrotem do widoku, sklep to w zmiennej o nazwie json.

Umieść odniesienie do jQuery i biblioteki jss twitter-text;

https://github.com/twitter/twitter-text-js

Dodaj div z id lub wyników do swojej aspx:

<div id="results"></div> 

można wyświetlić treść o następującym javascript:

for (var i = 0; i < json.length; i++) { 
       $("#results").append('<div class="tweet"><p><span><strong> - ' + json[i].created_at.substring(0, 16) + '</span></strong></span><br/>' + twttr.txt.autoLink(json[i].text) + '</p>'); 
       try { 
        for (var j = 0; j < json[i].entities.media.length; j++) { 
         $("#results").append('<a href="' + json[i].entities.media[j].media_url + '"><img src="' + json[i].entities.media[j].media_url + ':thumb" /></a>'); 
        } 

       } catch(e) { 
       } 
      } 
-1

Tworzenie a JavaScript rozwiązanie tylko, że po prostu działa na pole, aby uzyskać Twitter posty na swoim miejscu bez użycia nowego API - stylizacja pozostało do ciebie - możesz teraz określić liczbę tweets też:

http://goo.gl/JinwJ