gpt4 book ai didi

Python Mendeley SDK API 在身份验证中返回错误

转载 作者:太空宇宙 更新时间:2023-11-03 14:25:23 28 4
gpt4 key购买 nike

我有一个 mendeley 帐户,我正在使用他们的在线版本。我创建了一个用户 ID 和客户端 key ,将其保存在 config.yml 文件中并使用它进行身份验证。我正在使用 their website 上提供的以下代码

import yaml
from mendeley import Mendeley

with open('config.yml') as f:
config = yaml.load(f)

REDIRECT_URI = 'http://localhost:5000/oauth'

mendeley = Mendeley(config['clientId'], config['clientSecret'], REDIRECT_URI)
auth = mendeley.start_client_credentials_flow()
session = auth.authenticate()

这段代码工作正常,我没有收到错误。但是当我尝试使用 example 中的命令访问数据时它会抛出错误。例如

>> print (session.profiles.me.display_name)

mendeley.exception.MendeleyApiException: The Mendeley API returned an error (status: 400, message: No userid found in auth token)

>> for document in session.documents.iter():
print document.title

mendeley.exception.MendeleyApiException: The Mendeley API returned an error (status: 403, message: Access to this document is not allowed)

我被困在这里,不知道如何通过其 API 访问 mendeley 上的数据或文章。任何帮助将不胜感激。

最佳答案

您正在使用客户端凭据流程(OAuth 中的术语)。引用自the docs :

This flow does not require the user to log in. However, it only provides access to a limited set of resources (the read-only Mendeley Catalog of crowd sourced documents).

您的问题中的两个调用是私有(private)(用户)信息,因此会失败。

另一方面,以下内容应该有效:

print session.catalog.by_identifier(doi='10.1371/journal.pmed.0020124', view='stats').reader_count

如果您想访问私有(private)信息,您将需要用户登录。This question应该有帮助。

关于Python Mendeley SDK API 在身份验证中返回错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47673713/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com