如何用 python 获取新大陆物联网云平台的传感器数据

用 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)

【相关推荐】



  • 这篇博客: 【Python技能树共建】验证码实操2案例中的 编写获取 accesstoken 的代码 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:

    在目前主流的 API 开发模式下,都是需要你进行 accesstoken 的获取的

    代码如下 ,重点需要参照文档进行传参的设计
    python验证码识别技术

        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的权限。