当前位置: 首页 > 知识库问答 >
问题:

Python从OPS API获取access_token

朱渝
2023-03-14

我一直试图连接到EPO OPS API使用Python中的请求包-没有成功。开发指南(第34页)指出,步骤1是将消费者密钥和消费者秘密转换为Base64Encode(消费者密钥:消费者秘密)。步骤2是使用基本身份验证请求访问令牌,通过加密的HTTPS连接提供其消费者密钥和消费者秘密,如下所示:

下面是我使用过的代码,但我得到一个错误400状态。

import requests
import base64
url_token = "https://ops.epo.org/3.2/auth/accesstoken"
key = "Basic %s" %base64.b64encode("myconsumerkey:mysecretkey")
headers = ({"Authorization": key, 'Content-Type': 'application/x-www-form-urlencoded'})
resp = requests.post(url_token, headers=headers)
print(resp.status_code)

有人知道如何使访问令牌请求工作吗?

我希望脚本提取此链接的XML内容:

"http://ops.epo.org/3.2/rest-services/published-data/search?q=automation"

谢谢

共有1个答案

顾昊穹
2023-03-14

我得到了这个问题的解决方案,我忘了添加grant\u类型参数。解决方案如下:

import requests
import base64
import json

token_url='https://ops.epo.org/3.2/auth/accesstoken'
key = 'Basic %s' % base64.b64encode(b'myconsumerkeyhere:mysecretkeyhere').decode('ascii')
data = {'grant_type': 'client_credentials'}
headers = {'Authorization': key, 'Content-Type': 'application/x-www-form-urlencoded'}

r = requests.post(token_url, data=data, headers=headers)

rs= r.content.decode() 
response = json.loads(rs)

token = response['access_token']

print(token)
 类似资料:
  • 问题内容: 我试图从multiprocessing.Process获取一个追溯对象。不幸的是,通过管道传递异常信息不起作用,因为无法腌制回溯对象: 追溯: 还有另一种访问异常信息的方法吗?我想避免传递格式化的字符串。 问题答案: 使用您可以传递包装的异常并在以后重新引发它们: 因此,如果您在远程进程中捕获到异常,则将其包装,然后将其传递回去。调用主流程即可完成工作。

  • 问题内容: 当我尝试从JSON字符串检索值时,它给了我一个错误: 但是,如果我遍历数据,它将为我提供元素(和),而不是值: 哪个返回: 我需要怎么做才能得到and 的值?(和) 问题答案: 如果要遍历字典的键和值,请执行以下操作:

  • 问题内容: 例如,地址为: 我想将子域保存到变量中,这样我就可以这样做; 问题答案: 会将URL拆分为协议,位置,端口等。然后,您可以通过拆分位置来获得子域。

  • 我正在努力在Python中做一个实时货币转换器。我已经成功地将URL所需的所有数据提取到Python中。但是,我现在尝试在URL中调用特定字符串。这是我当前的代码: 如您所见,我已经打印了它获取的所有数据,但它现在正在从中打印特定的字符串。 我的问题是,如何从URL解析特定字符串?我听说过json.load,这是我应该使用的东西吗?

  • 问题内容: 我想从以下列表中获取唯一值: 我需要的输出是: 此代码有效: 我应该使用更好的解决方案吗? 问题答案: 首先正确声明你的列表,以逗号分隔。你可以通过将列表转换为一组来获得唯一值。 如果进一步将其用作列表,则应执行以下操作将其转换回列表: 另一种可能(可能更快)的可能性是从头开始使用集合而不是列表。然后你的代码应为: 正如已经指出的那样,集合不保持原始顺序。如果需要,则应查找有序集合实现

  • 问题内容: 我已经阅读了有关如何使用OpenCV的基于HOG的行人检测器的文章: 如何使用OpenCV检测和跟踪人员? 我想使用HOG来检测图像中的其他类型的对象(不仅仅是行人)。但是, HOGDetectMultiScale 的Python绑定似乎无法提供对实际HOG功能的访问。 是否可以使用Python + OpenCV直接从任何图像中提取HOG功能? 问题答案: 如果您想要用于HOG功能的快