私は LinQ の初心者で、Linq2Twitter と Twitter API 全般に問題があります。
認証が成功した後、認証されたユーザーのスクリーン名、ID、および名前を取得する方法がわかりません。
ディスカッション スレッドをオンラインで検索したところ、Joe から得た唯一のアドバイスは、結果を照会するときに非同期呼び出しを使用することでした。ただし、何らかの理由で MaterializedAsyncCallback がないため、代わりに AsyncCallback を使用しています。
承認からユーザーの情報を取得するまでの手順は次のとおりです。
コンシューマー キーとシークレットを認証情報として使用して PinAuthorizer を作成する
this.pinAuth = new PinAuthorizer { Credentials = new InMemoryCredentials { ConsumerKey = CONSUMER_KEY, ConsumerSecret = CONSUMER_SECRET }, UseCompression = true, GoToTwitterAuthorization = pageLink => Dispatcher.BeginInvoke(() => { WebBrowser.Navigate(new Uri(pageLink + "&force_login=true", UriKind.Absolute)); }) };
オーソライズ開始
this.pinAuth.BeginAuthorize(resp => ...
PIN を入力して、pinAuth.OAuthTwitter でアクセス トークンとシークレットを取得します。
pinAuth.CompleteAuthorize( this.pin, completeResp => Dispatcher.BeginInvoke(() => { ...
次に、ユーザーを取得しようとします...非同期呼び出しを使用します。これは、Joe Mayo が他のスレッドで推奨しているものです。
ITwitterAuthorizer auth = pinAuth; TwitterContext twitterCtx = new TwitterContext(pinAuth); (from user in twitterCtx.User where user.UserID != "JoeMayo" select user).AsyncCallback(asyncResponse => { var response = asyncResponse.ToList(); User acc = response.FirstOrDefault(); // Anything in this block is pointless // as I never get into this async callback block. // But this is where I expect to get the user's info // (screen name, name, id, etc.) });
非同期応答が得られません。(私もなぜか持っていませんMaterializedAsyncCallback
)。
許可されたユーザーのスクリーン名、ID、および名前を取得するにはどうすればよいですか?