python代码关于NULL的故障排除

python代码关于NULL的故障排除,python,contextio,Python,Contextio,我无法使用本页所述的模块上下文 我收到一个错误,我希望看到电子邮件内容 import contextio as c CONSUMER_KEY = 'dummy_key' CONSUMER_SECRET = 'dummy_secret' context_io = c.ContextIO( consumer_key=CONSUMER_KEY, consumer_secret=CONSUMER_SECRET ) accounts = context_io.get_accoun

我无法使用本页所述的模块上下文

我收到一个错误,我希望看到电子邮件内容

import contextio as c

CONSUMER_KEY = 'dummy_key'
CONSUMER_SECRET = 'dummy_secret'

context_io = c.ContextIO(
    consumer_key=CONSUMER_KEY, 
    consumer_secret=CONSUMER_SECRET
)

accounts = context_io.get_accounts(email='dummy.email@gmail.com')

params = {
    'id': 'dummy_id'
}

account = c.Account(context_io, params) 

params = {
    'message_id': 'dummy_message_id'
}

message = c.Message(account, params)

message.get()

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "contextio/__init__.py", line 1721, in get
    self.__init__(self.parent, self._request_uri('', params=params))
  File "contextio/__init__.py", line 481, in _request_uri
    uri, method=method, params=params, headers=headers, body=body
  File "contextio/__init__.py", line 481, in _request_uri
    uri, method=method, params=params, headers=headers, body=body
  File "contextio/__init__.py", line 150, in _request_uri
    self._handle_request_error(response)
  File "contextio/__init__.py", line 185, in _handle_request_error
    response_json = response.json()
  File "/usr/local/lib/python2.7/dist-packages/requests/models.py", line 638, in json
    return json.loads(self.text or self.content, **kwargs)
  File "/usr/lib/python2.7/dist-packages/simplejson/__init__.py", line 413, in loads
    return _default_decoder.decode(s)
  File "/usr/lib/python2.7/dist-packages/simplejson/decoder.py", line 402, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/usr/lib/python2.7/dist-packages/simplejson/decoder.py", line 420, in raw_decode
    raise JSONDecodeError("No JSON object could be decoded", s, idx)
simplejson.decoder.JSONDecodeError: No JSON object could be decoded: line 1 column 0 (char 0)
将上下文导入为c
消费者密钥='虚拟密钥'
消费者秘密='dummy\u SECRET'
context_io=c.ContextIO(
消费者密钥=消费者密钥,
消费者秘密=消费者秘密
)
accounts=context\u io.get\u accounts(email='dummy。email@gmail.com')
参数={
'id':'dummy_id'
}
account=c.account(上下文,参数)
参数={
'message_id':'dummy_message_id'
}
message=c.message(帐户,参数)
message.get()
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
get中第1721行的文件“contextio/__init__uuuu.py”
self.\uuuuu初始化(self.parent,self.\u请求\u uri(“”,params=params))
文件“contextio/\uuuuuu init\uuuuuuuu.py”,第481行,在请求uri中
uri,method=method,params=params,headers=headers,body=body
文件“contextio/\uuuuuu init\uuuuuuuu.py”,第481行,在请求uri中
uri,method=method,params=params,headers=headers,body=body
文件“contextio/\uuuuu init\uuuuuu.py”,第150行,在请求uri中
self.\u处理\u请求\u错误(响应)
文件“contextio/\uuuuuu init\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
response_json=response.json()
json格式的文件“/usr/local/lib/python2.7/dist-packages/requests/models.py”,第638行
返回json.load(self.text或self.content,**kwargs)
文件“/usr/lib/python2.7/dist-packages/simplejson/_-init__.py”,第413行,装入
返回\u默认\u解码器。解码
文件“/usr/lib/python2.7/dist packages/simplejson/decoder.py”,第402行,在decode中
obj,end=self.raw\u decode(s,idx=\u w(s,0.end())
文件“/usr/lib/python2.7/dist packages/simplejson/decoder.py”,第420行,原始解码
raise JSONDecodeError(“无法解码JSON对象”,s,idx)
simplejson.decoder.JSONDecodeError:无法解码任何JSON对象:第1行第0列(字符0)
我如何知道此错误是否是由于作为消息对象返回的NULL引起的?什么是非类型

>>> type(message)
<class 'contextio.Message'>
>>> dir(message)
['__class__', '__delattr__', '__dict__', '__doc__', '__format__', '__getattribute__', '__hash__', '__init__', '__module__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_request_uri', '_uri_for', 'addresses', 'base_uri', 'body', 'date', 'date_indexed', 'delete', 'email_message_id', 'facebook_headers', 'files', 'flags', 'folders', 'get', 'get_body', 'get_flags', 'get_folders', 'get_headers', 'get_source', 'get_thread', 'gmail_message_id', 'gmail_thread_id', 'headers', 'keys', 'list_headers', 'message_id', 'parent', 'person_info', 'post', 'post_flag', 'post_folder', 'put_folders', 'sanitize_params', 'source', 'sources', 'subject', 'thread']

>>> type(message.subject)
<type 'NoneType'>
>类型(消息)
>>>署长(讯息)
“UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU","str","subclass hook","weakref","请求"uri","地址","基本"uri","正文"日期","日期"索引"电子邮件地址、facebook地址、文件、标志、文件夹、get地址、get地址、get地址、get地址、get地址、get地址、get地址、get地址、get地址、get地址、gmail地址、gmail地址、gmail地址、Header地址、keys地址、list地址、message地址、parent地址、person地址、post地址、post地址、post地址、post地址、put地址、sanitize参数、source地址,“来源”,“主题”,“线程”]
>>>类型(message.subject)

为什么即使我提供了正确的凭据,代码也没有返回任何内容?

发生此错误的原因是Context.IO lib需要JSON响应,但它没有得到响应。这就是它爆炸的地方:

File "contextio/__init__.py", line 185, in _handle_request_error
  response_json = response.json()
这可能是服务的问题,返回无效的JSON正文或无效的标头,但很可能是由于其他原因导致请求失败,并且库没有准备好处理错误


试着进入上面的一行,在那里设置一个中断,然后检查
response.content的值是多少。如果这是一条错误消息,它将提示您出了什么问题,以及库失败的原因。如果它是有效的JSON,请检查
Content-Type
标题,并确保它是
application/JSON

NoneType
是一个
None
对象,该对象相当于
NULL