OAuth2 को उपयोग ट्विटर से डेटा प्राप्त करने के लिए, लेकिन के रूप में त्रुटि मिल रही है "यूनिकोड-वस्तुओं hashing से पहले एन्कोड किया जाना चाहिए": नीचे दिए गए कोड का उपयोगअजगर 3.4 त्रुटि
Unicode-objects must be encoded before hashing
,
def oauth_req(url, key, secret, http_method="GET", post_body="",http_headers=None):
consumer = oauth2.Consumer(key=API_KEY, secret=API_SECRET)
token = oauth2.Token(key=key, secret=secret)
client = oauth2.Client(consumer, token)
resp, content = client.request(url, method=http_method, body=post_body, headers=http_headers)
return content
data = oauth_req(url, TOKEN_KEY, TOKEN_SECRET)
इसके अलावा मैं def में गुजर रहे चर के लिए utf8 एन्कोडेड मानों का प्रयास किया।
File "<pyshell#11>", line 1, in <module>
data = oauth_req(url, TOKEN_KEY, TOKEN_SECRET)
File "<pyshell#8>", line 6, in oauth_req
body=post_body, headers=http_headers)
File "C:\Python35-32\lib\site-packages\oauth2_init_.py", line 673, in request
req.sign_request(self.method, self.consumer, self.token)
File "C:\Python35-32\lib\site-packages\oauth2_init_.py", line 493, in sign_request
self['oauth_body_hash'] = base64.b64encode(sha1(self.body).digest())
TypeError: Unicode-objects must be encoded before hashing
क्या आप अपने अपवाद का पूरा पता पोस्ट कर सकते हैं? यह आपके विवरण से बिल्कुल स्पष्ट नहीं है कि 'oauth2' कॉल समस्या का कारण बन रहा है। डेटा = oauth_req (यूआरएल, TOKEN_KEY, TOKEN_SECRET) फ़ाइल "", पंक्ति 2 में फ़ाइल "", लाइन 1,, oauth_req उपभोक्ता में: –
Blckknght
यह नीचे के रूप में चला जाता है: Traceback (सबसे हाल कॉल पिछले) = oauth2.Consumer (key = API_KEY, secret = API_SECRET) नाम त्रुटि: नाम 'oauth2' परिभाषित नहीं किया गया है –
कृपया उस प्रश्न में ट्रेसबैक संपादित करें जहां आप इसे ठीक से प्रारूपित कर सकते हैं। वैसे भी, यह आपके द्वारा पहले उल्लेख किए गए एक बहुत अलग अपवाद की तरह दिखता है। 'NameError: name 'oauth2' परिभाषित नहीं किया गया है 'सुझाव देता है कि आपने' oauth2' मॉड्यूल आयात नहीं किया है, और इसमें एन्कोडिंग या यूनिकोड ऑब्जेक्ट्स के साथ कुछ लेना देना नहीं है। – Blckknght