用 python 获取新大陆物联网云平台的传感器数据
我用AccessToken 、APIKEY、设备传输密钥,
三个都试了一遍,但是就不行,会返回
{'ResultObj': None, 'Status': 1, 'StatusCode': 40, 'Msg': '请求API的Token(令牌)不能为空!\nThe Token for the request API cannot be null', 'ErrorObj': None}
import requests
# 新大陆物联网云平台的API地址和路径
api_url = "http://api.nlecloud.com/Devices/723298"
# access_token = "************"//AccessToken
# access_token = "************"//APIKEY
# access_token = "************"//传输密钥
# 设置请求头部
headers = {
"Authorization": f"Bearer {access_token}"
}
# 发送GET请求
response = requests.get(api_url, headers=headers)
# 检查响应状态码
if response.status_code == 200:
# 请求成功
data = response.json()
# 处理响应数据
# 在这里添加您的代码
print(data)
else:
# 请求失败
print("Request failed:", response.status_code)
【相关推荐】
在目前主流的 API 开发模式下,都是需要你进行 accesstoken 的获取的
代码如下 ,重点需要参照文档进行传参的设计
def get_accesstoken(self):
res = requests.post(self.url.format(self.key,self.secret),headers=self.header)
content = res.text
if (content):
return json.loads(content)["access_token"]
得到 accesstoken 之后,你可以继续下面的操作
import requests
import json
import base64
import urllib.request, urllib.parse
class GetCode(object):
def __init__(self):
self.url = "https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id={}&client_secret={}"
self.api = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic?access_token={}"
self.header = {
"Content-Type":'application/json; charset=UTF-8'
}
self.key = "你的KEY"
self.secret = "你的SECRET"
根据您提供的代码,返回的错误信息是请求API的Token(令牌)不能为空。这意味着您的访问令牌(access_token)没有正确地被传递给API。
请确保您正确设置了访问令牌(access_token)的值。该访问令牌是您通过新大陆物联网云平台获取的,用于对API进行授权访问的令牌。请确认您是使用正确的访问令牌并将其正确地传递给API请求头部的"Authorization"字段。
以下是更新后的示例代码,您可以尝试使用新的访问令牌并将其替换到代码中:
import requests
# 新大陆物联网云平台的API地址和路径
api_url = "http://api.nlecloud.com/Devices/723298"
access_token = "YOUR_ACCESS_TOKEN" # 请将YOUR_ACCESS_TOKEN替换为您的访问令牌
# 设置请求头部
headers = {
"Authorization": f"Bearer {access_token}"
}
# 发送GET请求
response = requests.get(api_url, headers=headers)
# 检查响应状态码
if response.status_code == 200:
# 请求成功
data = response.json()
# 处理响应数据
# 在这里添加您的代码
print(data)
else:
# 请求失败
print("Request failed:", response.status_code)
请替换YOUR_ACCESS_TOKEN为您在新大陆物联网云平台获取的有效的访问令牌。如果您仍然遇到问题,请确保您的访问令牌的正确性,并确认您有访问该API的权限。