Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Twitter API 1.1
#1
Hallo,
heute wollte ich die neue API von Twitter ausprobieren...
Ich musste feststellen das die mit meinem jQuery Script nicht greift aber klar ist mir das nich den ich habe eigentlich alles beachtet was Twitter in der Doc verlangt.
Sobald man aber die alte API 1 einbaut funktioniert alles wie gewollt die Tweets werden auf der Page angezeigt...
Was könnte der Fehler bei der neuen API 1.1 sein weis jemand von Euch Rat?
Hier mal das jsFiddle mit der neuen API 1.1 http://jsfiddle.net/The_C/bcUnn/
Zitieren
#2
Kenn mich leider nicht so richtig mit der Twitter API aus.

Aber im Grunde lege ich dir Die Console von Firebug oder aus Chrome (beides per F12) am Herzen, damit erfährt man schon einiges.

In deinem Beispiel gibt es den Fehler:

Code:
XMLHttpRequest cannot load https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=justinbieber&count=2. Origin http://fiddle.jshell.net is not allowed by Access-Control-Allow-Origin.

Soll auf gut Deutsch heißen du darfst nicht JavaScript auf dieser weise auf andere Domains zugreifen.

Änder ich das so wie ich das in meiner kurzen Recherche gefunden habe, erhalte ich nur noch ein BadRequest, aber das hilft auch nicht viel weiter. Nun konnte ich aber nicht so viele Beispiele für die 1.1 API finden. Aber vielleicht hilft dir dieses Ergebnis schon mal etwas weiter.

    JAVASCRIPT Programming
  1. /**************************************/
  2. /* Twitterausgabe API 1.1*/
  3. /**************************************/
  4.  
  5. function linkify(text) {
  6. return text.replace(/[a-z]+:\/\/[a-z0-9\-_]+\.[a-z0-9\-_:%&\?\/.=]+/ig, function(m) {
  7. return '<a target="_blank" '+m.link(m).substr(3);
  8. });
  9. }
  10.  
  11.  
  12. $.ajax({
  13. url: "http://api.twitter.com/1.1/statuses/user_timeline.json",
  14. data: {screen_name:'justinbieber', count: 2},
  15. dataType: "jsonp",
  16. success: function(data, textStatus, xhr) {
  17. $.each(data, function(index, item) {
  18. $('#twitter_update_list').append('<li><p>' + linkify(item.text) + '</p></li>');
  19. });
  20. }
  21. });



EDIT: Vielleicht hilft dir ja auch eines der jQuery Plugins hier weiter: http://www.tripwiremagazine.com/2010/08/...-ease.html

bpsw.: http://tweet.seaofclouds.com/
MfG René
Systemadministrator, Webentwickler

pantanet.de - pantamedia.com - gosna.de

Wishlist
Zitieren
#3
Hallo rpflamm,
danke für Deine Antwort!
Hab auch schon so einen Request versucht leider auch ohne Erfolg...
Nach längerem lesen der Twitter API 1.1 hab ich die normal User Methode ausprobiert einfach ein Widget aus Twitter erstellt und den ausgegebenen Code auf die Seite gepackt das funkt schon mal.
Leider ist diese Methode sehr eingeschränkt aber sie gibt doch ein paar neue Aspekte an den man ansetzen kann um sich eine eigene JS zusammen-zu-basteln... Mal sehen ob es klappt ; )
So sieht der ausgegebene Code aus:
Code:
<a class="twitter-timeline" href="https://twitter.com/DerUsername" data-widget-id="276939169471272136">Tweets von @DerUsername</a>

<script>
  !function(d,s,id){
    var js,fjs=d.getElementsByTagName(s)[0];
    if(!d.getElementById(id{
       js=d.createElement(s);
       js.id=id;js.src="//platform.twitter.com/widgets.js";
       fjs.parentNode.insertBefore(js,fjs);
    }
}
(document,"script","twitter-wjs");</script>

Die ganzen jQuery Plugin's für Twitter sind leider auch nur für die API 1 gemacht also ist das auch keine Zukunft's Lösung.
Zitieren
#4
Nein, der Widget Code hilft da überhaupt nix : ((
Eigentlich geht es bei der ganzen Sache um den Authentifizierungs Code der in die neue API 1.1 eingeführt wurde.
Die getJSON greift zwar auch nur auf die ajax() zurück aber da muss für die neue API 1.1 der Header mit den Auth. Sachen modifiziert werden und das data object sollte auch das callback:'?' enthalten meine ich zumindest...
Zitieren
#5
Durch meine ajax option > dataType: "jsonp" < bekommt die URL ein callback rangehangen.

Wie das mit den Auth aussieht kann ich leider nicht sagen.
MfG René
Systemadministrator, Webentwickler

pantanet.de - pantamedia.com - gosna.de

Wishlist
Zitieren
#6
Es müsste eigentlich so funktionieren:
1. ajax-request an php-script
2. php-script holt per cURL mit Authentifizierung das json-object der user-timeline von der TwitterAPI
3. php-script als Twitter-App registrieren
4. Das php-script liefert als response das json-object aus
5. Per js wird die response aufbereitet und die tweets ausgegeben

Nur mein PHP wissen ist sehr beschränkt und ohne PHP nun mal keine Authentifizierung weil aus JS kann es ja jeder auslesen...
Zitieren
#7
Jetzt bin ich doch noch einen anderen Weg gegangen da ich wirklich keine Ahnung von PHP habe Blush Das Szenario funktioniert jetzt über die such Funktion von Twitter hier wird auch so hoffe ich doch (also eingetragen ist sie) die API 1.1 unterstützt...
Mit der Handelbar.js habe ich einfach ein Template nach meinen Wünschen gebaut.
Hier das Ergebnis: http://jsfiddle.net/The_C/2Tak2/
Zitieren
#8
So wie es aussieht funktioniert das leider nicht.
Die Tweets werden zwar angezeigt aber der Link führt ins Nirvana wegen dem /1.1/...
Schön langsam glaub ich das hier kein weg alleine über JS möglich nur in Verbindung mit PHP.
Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste