Can';t使用python Twitter模块验证Twitter凭据

Can';t使用python Twitter模块验证Twitter凭据,python,authentication,twitter,python-twitter,Python,Authentication,Twitter,Python Twitter,我正试图使用python twitter最终建立一个twitter机器人 在空闲时,我 导入twitter api = twitter.Api(consumer_key=['xxxx '], consumer_secret=['xxx'], access_token_key=['x-xxx'], access_token_secret=['xx']) 然后 这给了我一个很长的回溯错误,如

我正试图使用python twitter最终建立一个twitter机器人

在空闲时,我

导入twitter

api = twitter.Api(consumer_key=['xxxx '],
                  consumer_secret=['xxx'],
                  access_token_key=['x-xxx'],
                  access_token_secret=['xx'])
然后

这给了我一个很长的回溯错误,如下所示。我做错了什么

Traceback (most recent call last):
  File "<pyshell#24>", line 1, in <module>
    api.VerifyCredentials()
  File "C:\Users\redye\AppData\Local\Programs\Python\Python39\lib\site-packages\twitter\api.py", line 4699, in VerifyCredentials
    resp = self._RequestUrl(url, 'GET', data)
  File "C:\Users\redye\AppData\Local\Programs\Python\Python39\lib\site-packages\twitter\api.py", line 4992, in _RequestUrl
    resp = self._session.get(url, auth=self.__auth, timeout=self._timeout, proxies=self.proxies)
  File "C:\Users\redye\AppData\Local\Programs\Python\Python39\lib\site-packages\requests\sessions.py", line 555, in get
    return self.request('GET', url, **kwargs)
  File "C:\Users\redye\AppData\Local\Programs\Python\Python39\lib\site-packages\requests\sessions.py", line 528, in request
    prep = self.prepare_request(req)
  File "C:\Users\redye\AppData\Local\Programs\Python\Python39\lib\site-packages\requests\sessions.py", line 456, in prepare_request
    p.prepare(
  File "C:\Users\redye\AppData\Local\Programs\Python\Python39\lib\site-packages\requests\models.py", line 320, in prepare
    self.prepare_auth(auth, url)
  File "C:\Users\redye\AppData\Local\Programs\Python\Python39\lib\site-packages\requests\models.py", line 551, in prepare_auth
    r = auth(self)
  File "C:\Users\redye\AppData\Local\Programs\Python\Python39\lib\site-packages\requests_oauthlib\oauth1_auth.py", line 108, in __call__
    r.url, headers, _ = self.client.sign(
  File "C:\Users\redye\AppData\Local\Programs\Python\Python39\lib\site-packages\oauthlib\oauth1\rfc5849\__init__.py", line 313, in sign
    ('oauth_signature', self.get_oauth_signature(request)))
  File "C:\Users\redye\AppData\Local\Programs\Python\Python39\lib\site-packages\oauthlib\oauth1\rfc5849\__init__.py", line 127, in get_oauth_signature
    uri, headers, body = self._render(request)
  File "C:\Users\redye\AppData\Local\Programs\Python\Python39\lib\site-packages\oauthlib\oauth1\rfc5849\__init__.py", line 209, in _render
    headers = parameters.prepare_headers(
  File "C:\Users\redye\AppData\Local\Programs\Python\Python39\lib\site-packages\oauthlib\oauth1\rfc5849\utils.py", line 32, in wrapper
    return target(params, *args, **kwargs)
  File "C:\Users\redye\AppData\Local\Programs\Python\Python39\lib\site-packages\oauthlib\oauth1\rfc5849\parameters.py", line 59, in prepare_headers
    escaped_value = utils.escape(value)
  File "C:\Users\redye\AppData\Local\Programs\Python\Python39\lib\site-packages\oauthlib\oauth1\rfc5849\utils.py", line 56, in escape
    raise ValueError('Only unicode objects are escapable. ' +
ValueError: Only unicode objects are escapable. Got <generator object to_unicode.<locals>.<genexpr> at 0x0000027FCEE7B510> of type <class 'generator'>.
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
api.VerifyCredentials()
VerifyCredentials中的文件“C:\Users\redye\AppData\Local\Programs\Python\Python39\lib\site packages\twitter\api.py”,第4699行
resp=self.\u请求url(url“获取”,数据)
文件“C:\Users\redye\AppData\Local\Programs\Python\39\lib\site packages\twitter\api.py”,第4992行,位于_RequestUrl中
resp=self.\u session.get(url,auth=self.\u auth,timeout=self.\u timeout,proxies=self.proxies)
get中的文件“C:\Users\redye\AppData\Local\Programs\Python\39\lib\site packages\requests\sessions.py”,第555行
返回self.request('GET',url,**kwargs)
文件“C:\Users\redye\AppData\Local\Programs\Python\39\lib\site packages\requests\sessions.py”,请求中第528行
准备=自我准备请求(req)
文件“C:\Users\redye\AppData\Local\Programs\Python\39\lib\site packages\requests\sessions.py”,第456行,在prepare\u请求中
p、 预备(
文件“C:\Users\redye\AppData\Local\Programs\Python\39\lib\site packages\requests\models.py”,第320行,在prepare中
self.prepare\u auth(auth,url)
文件“C:\Users\redye\AppData\Local\Programs\Python\39\lib\site packages\requests\models.py”,第551行,在prepare\u auth中
r=auth(self)
文件“C:\Users\redye\AppData\Local\Programs\Python\Python39\lib\site packages\requests\u oauthlib\oauth1\u auth.py”,第108行,在调用中__
r、 url,标题,=self.client.sign(
文件“C:\Users\redye\AppData\Local\Programs\Python\Python39\lib\site packages\oauthlib\oauth1\rfc5849\\ uuuuuu init\uuuuuu.py”,第313行,符号
('oauth_签名',self.get_oauth_签名(请求)))
文件“C:\Users\redye\AppData\Local\Programs\Python\Python39\lib\site packages\oauthlib\oauth1\rfc5849\\ uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu init.py”,第127行,在get\uuuuu
uri,头,body=self.\u呈现(请求)
文件“C:\Users\redye\AppData\Local\Programs\Python\Python39\lib\site packages\oauthlib\oauth1\rfc5849\\ uuuuu init\ uuuuu.py”,第209行,在渲染中
标题=参数。准备标题(
文件“C:\Users\redye\AppData\Local\Programs\Python\Python39\lib\site packages\oauthlib\oauth1\rfc5849\utils.py”,第32行,在包装器中
返回目标(参数、*args、**kwargs)
文件“C:\Users\redye\AppData\Local\Programs\Python\Python39\lib\site packages\oauthlib\oauth1\rfc5849\parameters.py”,第59行,在prepare\u标题中
转义值=utils.escape(值)
文件“C:\Users\redye\AppData\Local\Programs\Python\Python39\lib\site packages\oauthlib\oauth1\rfc5849\utils.py”,第56行,在escape中
raise VALUERROR('只有unicode对象是可转义的。'+
ValueError:只有unicode对象是可转义的。获取的类型为。

感谢OctaveL的帮助

最终我找到了这段视频:

我很担心API密钥和消费者密钥(没有)到底有什么区别。按照VSCode中的说明,一切都很好


我怀疑我在某个地方弄乱了一些格式或空格。

可能会回答你的问题嘿,谢谢你-我最终在VSCode中尝试了它,它工作得很好。出乎意料,但很好!你应该尝试在关闭线程之前更准确地解释是什么解决了它,以便在将来帮助其他人解决同样的问题,如果你有任何疑问的话dea有什么帮助
Traceback (most recent call last):
  File "<pyshell#24>", line 1, in <module>
    api.VerifyCredentials()
  File "C:\Users\redye\AppData\Local\Programs\Python\Python39\lib\site-packages\twitter\api.py", line 4699, in VerifyCredentials
    resp = self._RequestUrl(url, 'GET', data)
  File "C:\Users\redye\AppData\Local\Programs\Python\Python39\lib\site-packages\twitter\api.py", line 4992, in _RequestUrl
    resp = self._session.get(url, auth=self.__auth, timeout=self._timeout, proxies=self.proxies)
  File "C:\Users\redye\AppData\Local\Programs\Python\Python39\lib\site-packages\requests\sessions.py", line 555, in get
    return self.request('GET', url, **kwargs)
  File "C:\Users\redye\AppData\Local\Programs\Python\Python39\lib\site-packages\requests\sessions.py", line 528, in request
    prep = self.prepare_request(req)
  File "C:\Users\redye\AppData\Local\Programs\Python\Python39\lib\site-packages\requests\sessions.py", line 456, in prepare_request
    p.prepare(
  File "C:\Users\redye\AppData\Local\Programs\Python\Python39\lib\site-packages\requests\models.py", line 320, in prepare
    self.prepare_auth(auth, url)
  File "C:\Users\redye\AppData\Local\Programs\Python\Python39\lib\site-packages\requests\models.py", line 551, in prepare_auth
    r = auth(self)
  File "C:\Users\redye\AppData\Local\Programs\Python\Python39\lib\site-packages\requests_oauthlib\oauth1_auth.py", line 108, in __call__
    r.url, headers, _ = self.client.sign(
  File "C:\Users\redye\AppData\Local\Programs\Python\Python39\lib\site-packages\oauthlib\oauth1\rfc5849\__init__.py", line 313, in sign
    ('oauth_signature', self.get_oauth_signature(request)))
  File "C:\Users\redye\AppData\Local\Programs\Python\Python39\lib\site-packages\oauthlib\oauth1\rfc5849\__init__.py", line 127, in get_oauth_signature
    uri, headers, body = self._render(request)
  File "C:\Users\redye\AppData\Local\Programs\Python\Python39\lib\site-packages\oauthlib\oauth1\rfc5849\__init__.py", line 209, in _render
    headers = parameters.prepare_headers(
  File "C:\Users\redye\AppData\Local\Programs\Python\Python39\lib\site-packages\oauthlib\oauth1\rfc5849\utils.py", line 32, in wrapper
    return target(params, *args, **kwargs)
  File "C:\Users\redye\AppData\Local\Programs\Python\Python39\lib\site-packages\oauthlib\oauth1\rfc5849\parameters.py", line 59, in prepare_headers
    escaped_value = utils.escape(value)
  File "C:\Users\redye\AppData\Local\Programs\Python\Python39\lib\site-packages\oauthlib\oauth1\rfc5849\utils.py", line 56, in escape
    raise ValueError('Only unicode objects are escapable. ' +
ValueError: Only unicode objects are escapable. Got <generator object to_unicode.<locals>.<genexpr> at 0x0000027FCEE7B510> of type <class 'generator'>.