我在研究中经常使用Mendeley。我想编辑Mendeley客户目录中文档的“用户标签”。具体来说,我想在该字段中添加期刊的声誉(以H因子或影响因子的形式)。我已经成功设置了OAuth2身份验证,并且能够检索目录中的所有文档。但是,我无法更改详细信息/将其同步回去。
您知道使用Mendeley API是否有可能?
我在API文档中找不到类似于set或sync的方法。
from mendeley import Mendeley
# I've changed the authentication details of my script (of course)
client_id = ****
client_secret = "abcdefghijklmnop"
redirect_uri = "http://localhost:8080/someTest"
# These values should match the ones supplied when registering your application
mendeley = Mendeley(client_id, redirect_uri=redirect_uri)
auth = mendeley.start_implicit_grant_flow()
# The user needs to visit this URL, and log in to Mendeley.
login_url = auth.get_login_url()
res = requests.post(login_url, allow_redirects=False, data={
'username': 'mymail@myprovider.net',
'password': 'somePsasword?!'
})
auth_response = res.headers['Location']
# After logging in, the user will be redirected to a URL, auth_response.
session = auth.authenticate(auth_response)
# print(session.files.list().items)
for document in session.documents.iter(view='tags'):
print(document.title)
a = session.documents.get("5982d0ce-0425-3548-a063-519620c17886", view='tags')
a.tags = "TESTETETSETEST"
另一种选择是只在PC上本地更改目录,但是我无法在mendeley目录中找到此文件/数据库
我通过将循环更改为以下内容,尝试了API中提到的update()方法。暂时没有解决我的问题
for document in session.documents.iter(view='tags'):
print(document.tags)
document.tags = ["Test"]
document.update()
答案 0 :(得分:0)
我对Mendeley Python SDK并不熟悉,但是在a.tags = "TESTETETSETEST"
之后您不需要拨打其他电话对我来说似乎很奇怪。
您不需要使用update
方法吗?