2012-12-08 26 views
5

के साथ तारांकित किया गया है, तो मैं वर्तमान में यह जांचने का प्रयास कर रहा हूं कि प्रमाणीकृत उपयोगकर्ता द्वारा GitHub API (v3) का उपयोग करके रेपो तारांकित किया गया है या नहीं। मैं लॉग इन उपयोगकर्ता द्वारा तारांकित किए गए रेपो को सफलतापूर्वक सूचीबद्ध कर सकता हूं, लेकिन जब उपयोगकर्ता द्वारा रेपो तारांकित किया जाता है तो मैं इसे काम करने के लिए प्रतीत नहीं कर सकता।यह जांचना कि क्या रेपो को गिटहब एपीआई

उदाहरण के लिए ..

(जीईटी)/उपयोगकर्ता/अभिनय किया? ACCESS_TOKEN = ... सही ढंग से रेपोस मैं अभिनय किया है की पूरी सूची देता है।

(जीईटी)/उपयोगकर्ता/तारांकित/जॉयनेट/नोड? Access_token = ... हमेशा स्थिति 404 लौटाता है, इससे कोई फर्क नहीं पड़ता कि मैं किस मालिक/रेपो संयोजन का उपयोग करता हूं या यदि मेरे पास वास्तव में उस रिपो तारांकित है या नहीं।

मुझे यह भी ध्यान रखना चाहिए कि मुझे/उपयोगकर्ता/तारांकित (GET)/उपयोगकर्ता/तारांकित के अलावा तारांकित/कुछ भी एक्सेस नहीं किया जा सकता है। PUT, DELETE, या POST/उपयोगकर्ता/तारांकित/POST को पोस्ट करने का कोई भी अनुरोध /: repo 404 देता है, इससे कोई फर्क नहीं पड़ता कि मैं क्या करता हूं।

कोई विचार है कि मैं इस एपीआई का उपयोग कैसे कर रहा हूं? मैंने प्रलेखन पढ़ा है, और मुझे विश्वास है कि मैं इसे सही तरीके से कर रहा हूं, लेकिन मुझे लगता है कि यह काम नहीं कर रहा है।

उत्तर

5

मैं इस समस्या को हल करने में सक्षम था। मुद्दा यह था कि मैंने प्रलेखन को स्किम किया था और मुझे नहीं देखा था कि मुझे सितारों को संशोधित करने में सक्षम होने के लिए प्राधिकरण के दौरान रेपो दायरे का अनुरोध करना था :) बस "रेपो" स्कोप जोड़ना मेरी समस्या को ठीक कर दिया!

गिटहब संक्षेप में उनके क्षेत्रों का उल्लेख करता है: http://developer.github.com/v3/oauth/ लेकिन जहां कहीं भी यह उल्लेख नहीं किया गया था कि अभिनीत "रेपो" स्कोप की आवश्यकता है।

1

आप एपीआई अधिकार का उपयोग कर रहे हैं। the documentation के अनुसार यदि आपने एक भंडार तारांकित नहीं किया है (या रिपोजिटरी या उपयोगकर्ता, या दोनों मौजूद नहीं है) तो आपको 404 स्थिति मिल जाएगी, अन्यथा आपको 204 मिल जाएगा। आपको हमेशा 404 स्थिति मिल रही है क्योंकि आपके पास उपयोगकर्ता नाम खुशी गलत वर्तनी।

GET /user/starred/joyent/node 

नोड रेपो तारांकित करने के लिए:

PUT /user/starred/joyent/node 

और नोड रेपो तारा हटाने के लिए:

DELETE /user/starred/joyent/node 

तो, प्रमाणीकृत उपयोगकर्ता नोड भंडार अभिनय किया है, तो जाँच करने के लिए

इसके अलावा, यदि आप एक पुट बनाने या/उपयोगकर्ता/तारांकित/अनुरोध करने के लिए अनुरोध का अनुरोध करते हैं /: मालिक/रिपोजिटरी जो दोबारा करते हैं अस्तित्व में नहीं है आपको 404 की स्थिति मिल जाएगी। तो, आपको गलत वर्तनी उपयोगकर्ता नाम की वजह से ये सभी 404 स्थितियां मिल रही थीं।

+0

उत्तर के लिए धन्यवाद। मुझे पता है कि मैंने अपने नमूने में जॉयनेट किया है, लेकिन यह किसी भी अनुरोध के लिए 404 लौटाता है (मैंने 10 अलग-अलग रिपोज़ की कोशिश की थी)। मैं अपनी विशिष्ट समस्या को हल करने में सक्षम था हालांकि (मेरा जवाब देखें) –