2016-04-12 14 views
0

Ich verwende TweetSharp für C#, und ich bin erfolgreich in der Lage Tweets über diesen Twitter zu veröffentlichen.ListTweetOnUserTimeline gibt null zurück

Ich versuche jedoch, die neuesten Tweets aus der Zeitleiste des Kontos zu lesen, aber ich bekomme immer Null zurück, wenn ich versuche, die Daten zu bekommen. Der folgende Code gibt null

string consumerKey = <consumerKey>; 
    string consumerSecret = <consumerSecret>; 

    TwitterService service = new TwitterService(consumerKey, consumerSecret); 
     service.AuthenticateWith(consumerKey, consumerSecret); 
     var options = new ListTweetsOnUserTimelineOptions() 
     { 
      ScreenName = screenName, 
      SinceId = 0, 
      Count = 5 
     }; 
     var currentTweets = service.ListTweetsOnUserTimeline(options); 

Ich habe UserId statt ScreenName versucht, aber ich noch null als Folge fir currentTweets bekommen. Alle Beispiele, die ich finden kann, verweisen auf diese Methode, aber es funktioniert nicht.

Irgendwelche Ideen?

Antwort

1

Ich denke, Ihr Problem ist der AuthenticateWith Anruf. Sie scheinen die Consumer Token und Secret erneut zu übergeben, aber die AuthenticateWith-Überladung, die nur zwei Argumente benötigt, erwartet einen Benutzer Token und Secret. Ich vermute, dass Sie daher eine unautorisierte Antwort bekommen (nicht sicher, warum Sie keinen Fehler bekommen).

Ich würde vorschlagen, entweder den AuthenticateWith-Aufruf zu entfernen (Sie haben das Consumer-Token bereits im Konstruktor angegeben) oder ändern Sie, sodass Sie Details für ein gültiges Benutzer-Token anstelle des Consumer-Tokens übergeben.

Sie können auch die Response-Eigenschaft auf dem twitter-Dienst überprüfen, nachdem Ihr Anruf abgeschlossen wurde, und den http-Statuscode/Grundphrase/Inhalt usw. prüfen, um zu sehen, ob Sie mehr Details darüber erhalten, was schief läuft.