5

小さなスタック オーバーフロー アプリケーションを構築していますが、スタック オーバーフローからユーザーに関する情報を収集するには、ユーザー ID を知る必要があります。ユーザーが表示名/ユーザー名を入力できるようにし、アプリケーションが UserID を見つけられるようにしたいと思います。ただし、ユーザー名が一意ではないことは理解していますが、C# を使用して、指定したユーザー名を持つ人のすべてのユーザー IDを見つけることは可能でしょうか? これのサンプルコードを教えてください。これはおそらく、ユーザー ページのスクリーン スクレイピングによって何らかの方法で行うことができますが、この種のことを達成する方法がわかりません。

ところで、これを達成するためにデータダンプを使用したくありません。この情報は、[ユーザー] ページなどで見つけたいと思っています。

ところで、私はMeta Stack Overflow に同様の質問を投稿し、これをここに投稿するように指示されました。Stack Overflow が所属する場所だからです!

4

3 に答える 3

7

この回答の以前のバージョンは機能しなくなりました。再び動作するように変更することはできますが、もはや必要ではありません。最近では、公式 APIがあります。メソッドへのinnameパラメーターは/users探しているものです。

例: http://api.stackexchange.com/2.2/users?order=desc&sort=reputation&inname=steve&site=stackoverflow

于 2009-09-19T11:20:32.893 に答える
3

言いたくないのですが、ユーザー ID をお聞きしたいかもしれません。

問題は、潜在的な重複を持つユーザーがたくさんいるということではありません。その場合は、ルックアップをキャッシュするだけでよいからです。問題は、どのユーザーも自分の表示名をいつでも変更できるため、キャッシュを信頼できないことです。

あなたができることの 1 つは、最新のコミュニティ wiki ダンプから Web サービスを構築し、それを最新の状態に保ち、ユーザー名を変更した場合、翌月のデータ リリースまで待つ必要があることをユーザーに知らせることです。働く新しい名前。

于 2009-09-19T05:37:18.247 に答える
2

その質問に答えるには、すべてのユーザー ( https://stackoverflow.com/users/( 0 to current)/) をクロールする必要があります。

于 2009-09-19T05:29:56.500 に答える