2013-03-13 10 views
8

application-only authentication(ユーザーコンテキストなし)を使用して、サーバーサイドアプリケーションからパブリックツイートを取得しようとしています。Twitter APIアプリケーションのみの認証(TweetSharp付き)

次のコードは正常に動作します:

var service = new TwitterService("<consumer key>", "<consumer secret>"); 
service.AuthenticateWith("<access token>", "<access token secret>"); 

var options = new ListTweetsOnUserTimelineOptions { ScreenName = "billgates" }; 

foreach (var tweet in service.ListTweetsOnUserTimeline(options)) 
    Console.WriteLine(tweet.Text); 

私は秘密のアクセストークン/提供する必要はないことをこの図から集まっしかし:しかし、私

Application-only authentication

AuthenticateWithへの呼び出しを削除すると、ListTweetsOnUserTimelineがnullを返します。

ライブラリの制限ですが、そうでない場合はどうすればいいですか?

EDIT

Aasの私の知る限り、これはdocumentationに従って、アプリケーションのみの認証をサポートする必要がありGET statuses/user_timelineメソッドを呼び出します。この形式の認証をサポート

APIメソッドユーザーごと(アプリケーションユーザー認証用)とアプリケーション別(アプリケーション専用認証のこのフォーム用)の2つのレート制限があります。

GET statuses/user_timelineメソッドには、これらの2つの制限がドキュメントに示されています。

+1

この方法で運が悪いですか? – cDima

+0

興味のある方はGitHubに関する問題:https://github.com/danielcrenna/tweetsharp/issues/80 –

答えて

1

これはライブラリの制限ではなく、Twitter APIの制限だと思います。

私が知る限り、ListTweetsOnUserTimeline()メソッドはstatus/user_timeline API呼び出しを使用します。

GET statuses/user_timeline

あなたが見ることができるように、この呼び出しには認証が必要です。

ステータスを取得するためにStreaming APIを使用できます。私はユーザーのストリームでしか公開していないので、ここでお手伝いできません。

Public streams

また、TweetSharpはストリームといくつかの問題を抱えている、私はLinq2Twitterライブラリに切り替える必要がありました。

+0

この方法はアプリケーション専用の認証をサポートしているはずです。これは認証の形式なので、 Authentication:Required'(質問の私の編集を参照)。 –

+0

私が読んだことから、私はあなたがユーザーと認証せずにストリームを使用できるとは思わない。 – KronoS

関連する問題