2009-09-19 8 views
5

मैं एक छोटा स्टैक ओवरफ़्लो एप्लिकेशन बना रहा हूं, लेकिन किसी उपयोगकर्ता के बारे में स्टैक ओवरफ़्लो से जानकारी एकत्र करने के लिए मुझे अपने उपयोगकर्ता आईडी को जानने की आवश्यकता है। मैं चाहता हूं कि उपयोगकर्ता अपने प्रदर्शन नाम/उपयोगकर्ता नाम दर्ज करें और एप्लिकेशन के लिए अपने उपयोगकर्ता आईडी को ढूंढने में सक्षम हो। हालांकि, मैं समझता हूं कि उपयोगकर्ता नाम अद्वितीय नहीं हैं, लेकिन सी #, उपयोगकर्ता नाम के उन सभी उपयोगकर्ता-आईडी के माध्यम से मिलना संभव है जो मैं निर्दिष्ट करता हूं? क्या आप मुझे इसके लिए कुछ नमूना कोड दे सकते हैं? यह शायद उपयोगकर्ता पेज को स्क्रैप करके किसी भी तरह से किया जा सकता है, लेकिन मुझे यकीन नहीं है कि इस तरह की चीज़ को कैसे पूरा किया जाए।सी # में उनके प्रदर्शन नाम के साथ एक स्टैक ओवरफ़्लो उपयोगकर्ता का उपयोगकर्ता आईडी ढूँढना?

वैसे, मैं इसे पूरा करने के लिए डेटा-डंप का उपयोग नहीं करना चाहता हूं। मैं किसी भी तरह से इस पृष्ठ को उपयोगकर्ता पेज, या कुछ इसी तरह से ढूंढना चाहता हूं।

वैसे, मैंने similar question on Meta Stack Overflow पोस्ट किया और इसे यहां पोस्ट करने के लिए निर्देशित किया गया था, क्योंकि स्टैक ओवरफ़्लो वह है जहां यह संबंधित है!

+2

मैं के बारे में डेटा डंप उपयोग करने का सुझाव था, लेकिन तुमने कहा था आप उपयोग करना है कि कुछ अनिर्दिष्ट कारण के लिए नहीं चाहता था। यदि आप स्टैक ओवरफ़्लो पर सभी उपयोगकर्ताओं को स्क्रीन-स्क्रैप करते हैं, तो आपको * प्रतिबंधित कर दिया जाएगा। –

+0

@ ग्रेग मैं करूँगा? हम्म ... मैं सभी उपयोगकर्ताओं को स्क्रीन-स्क्रैप नहीं करना चाहता हूं, मैं बस इतना करना चाहता हूं कि उपयोगकर्ता पेज के माध्यम से जाएं जो कहता है कि कौन से उपयोगकर्ता मौजूद हैं (मुख्य उपयोगकर्ता पृष्ठ, व्यक्तिगत प्रोफ़ाइल पेज नहीं)। यह असंभव प्रतीत होता है। –

उत्तर

7

previous version इस उत्तर का अब और काम नहीं करता है। इसे फिर से काम करने के लिए संशोधित किया जा सकता है, लेकिन इन दिनों – आवश्यक नहीं है, official API है। inname पैरामीटर the /users method पर जो आप ढूंढ रहे हैं वह है।

उदाहरण: http://api.stackexchange.com/2.2/users?order=desc&sort=reputation&inname=steve&site=stackoverflow

+0

धन्यवाद! यह वास्तव में मदद की! वैसे, आपको यह कैसे मिला? –

+0

वाह, बहुत बहुत धन्यवाद! –

+0

यह काम नहीं करता है। शायद इस दौरान यह बदल गया? –

2

आपको उस प्रश्न का उत्तर देने के लिए सभी उपयोगकर्ताओं (https://stackoverflow.com/users/( 0 वर्तमान) के माध्यम से क्रॉल करना होगा।

+0

मैं यह पता लगाने की कोशिश कर रहा था कि क्या उपयोगकर्ता आईडी अनुक्रमिक हैं, और यह उत्तर इंगित करेगा कि वे अनुक्रमिक हैं। – the0ther

3

मुझे यह कहने से नफरत है, लेकिन आप उपयोगकर्ता आईडी के लिए पूछना चाहेंगे।

समस्या यह नहीं है कि संभावित डुप्लीकेट वाले बहुत से उपयोगकर्ता हैं, क्योंकि यदि ऐसा होता है तो आप लुकअप को कैश कर सकते हैं। समस्या यह है कि कोई भी उपयोगकर्ता किसी भी समय अपना प्रदर्शन नाम बदल सकता है, और इसलिए आप वास्तव में अपने कैश पर भरोसा नहीं कर सकते हैं।

एक चीज जो आप कर सकते हैं वह नवीनतम समुदाय विकी डंप से एक वेब सेवा बनाना है, इसे अद्यतित रखें, और केवल उपयोगकर्ताओं को यह बताएं कि यदि वे अपना उपयोगकर्ता नाम बदलते हैं तो उन्हें अगले महीने के लिए इंतजार करना होगा काम करने के लिए नए नाम के लिए डेटा रिलीज।

+0

धन्यवाद! मैं बस सोच रहा हूं, आप अपना यूजर आईडी कैसे बदलते हैं? क्या यह आपके खाते के साथ एक नया ओपनआईडी जोड़ने से संबंधित है? मैंने आज ऐसा किया, इसलिए मैं यह देखने जा रहा हूं कि मेरी आईडी बदल गई है या नहीं। –

+0

जब मैं डेटाबेस में आपका SO खाता बनाया गया है तो मैं इसकी यादृच्छिक रूप से जेनरेट कर रहा हूं। ओपनिड बदलना इसे नहीं बदलेगा क्योंकि एक उपयोगकर्ता के पास कई खुले आईडी हो सकते हैं। आपको अलग-अलग आईडी – TJB

+0

@TJB या प्राप्त करने के लिए एक नया उपयोगकर्ता खाता बनाना होगा, जो कि मुझे लगता है कि यह यादृच्छिक नहीं है, आईडी पहले रजिस्टरों के संदर्भ में #s आरोही हैं। जेफ आईडी # 1 है। अन्य टीम के सदस्यों के पास सिंगल-डिजिट आईडी हैं। यह समय के द्वारा आदेश दिया गया है! अयस्क लोग जो पंजीकरण करते हैं, उतना अधिक आईडी जो आपको सौंपा गया है! –