2012-07-12 34 views
2

我想從linkedin獲取信息,但不斷收到以下錯誤消息?類型錯誤:字符映射必須返回整數,無或unicode

我已經搜遍了,但我看到的修復只是爲那些在使用djangopiston時出現錯誤。誰能幫我解決這個問題嗎?

Environment: 


Request Method: GET 
Request URL: http://127.0.0.1:8000/jobs/1/match/ 

Django Version: 1.3.1 
Python Version: 2.7.2 
Installed Applications: 
['django.contrib.auth', 
'django.contrib.contenttypes', 
'django.contrib.sessions', 
'django.contrib.sites', 
'django.contrib.messages', 
'django.contrib.flatpages', 
'django.contrib.admin', 
'django.contrib.staticfiles', 
'compress', 
'south', 
'filer', 
'easy_thumbnails', 
'registration', 
'socialregistration', 
'socialregistration.contrib.facebook', 
'socialregistration.contrib.twitter', 
'socialregistration.contrib.linkedin', 
'socialregistration.contrib.openid', 
'privatebeta', 
'api', 
'profiles', 
'jobs', 
'misc'] 
Installed Middleware: 
('django.middleware.common.CommonMiddleware', 
'django.contrib.sessions.middleware.SessionMiddleware', 
'django.middleware.csrf.CsrfViewMiddleware', 
'django.middleware.csrf.CsrfResponseMiddleware', 
'django.contrib.auth.middleware.AuthenticationMiddleware', 
'django.contrib.messages.middleware.MessageMiddleware', 
'socialregistration.contrib.facebook.middleware.FacebookMiddleware', 
'socialregistration.contrib.linkedin.middleware.LinkedInMiddleware', 
'misc.middleware.SubdomainMiddleware', 
'django.contrib.flatpages.middleware.FlatpageFallbackMiddleware') 


    Traceback: 
    File "/home/arlus/jobmatch/local/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response 
    111.       response = callback(request, *callback_args, **callback_kwargs) 
    File "/home/arlus/jobmatch/local/lib/python2.7/site-packages/django/utils/decorators.py" in _wrapped_view 
    93.      response = view_func(request, *args, **kwargs) 
    File "/home/arlus/jobmatch/local/lib/python2.7/site-packages/django/contrib/auth/decorators.py" in _wrapped_view 
    23.     return view_func(request, *args, **kwargs) 
    File "jobs/views.py" in match 
    60.   matches = linkedin_api.get_connections(fields=['headline', 'summary',]).encode('utf-8') 
    File "../lib/linkedin/linkedin.py" in get_connections 
    291.    response = self._do_normal_query(raw_url) 
    File "../lib/linkedin/linkedin.py" in _do_normal_query 
    757.          signature_dict, self._access_token_secret, method, update=False) 
    File "../lib/linkedin/linkedin.py" in _calc_signature 
    789.   hashed = hmac.new(self._calc_key(token_secret), signature_base_string, sha) 
File "/usr/lib/python2.7/hmac.py" in new 
    133.  return HMAC(key, msg, digestmod) 
File "/usr/lib/python2.7/hmac.py" in __init__ 
    72.   self.outer.update(key.translate(trans_5C)) 

    Exception Type: TypeError at /jobs/1/match/ 
    Exception Value: character mapping must return integer, None or unicode 

回答

0

很難說,但在某處urls.py和views.py是匹配的,你應該檢查傳遞的對象的類型。它可能沒有預期的價值。

例如/ jobs/1/match,1可能預期爲int,但結果爲str。

0

也許是因爲文本是以unicode形式輸入的,請嘗試key.encode.('UTF-8')

相關問題