Mendeley API - Python SDK - возможно ли изменить детали документа? - PullRequest
0 голосов
/ 23 января 2019

Я часто использую Менделея для своих исследований.Я хочу отредактировать «пользовательские теги» для документов в каталоге моего клиента Mendeley.В частности, я хочу добавить репутацию журнала в это поле (в виде h-фактора или импакт-фактора).Я успешно настроил аутентификацию OAuth2 и могу получить все документы из моего каталога.Однако я не могу изменить детали / синхронизировать их обратно.

Знаете ли вы, возможно ли это с помощью Mendeley API?

Я не нашел такой метод, как set или syncв документации API.

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"

Другой вариант - просто изменить мой каталог локально на моем ПК, однако мне не удалось найти файл / базу данных для этого в моем каталоге mendeley

Edit:

Я попробовал метод update (), упомянутый в API, изменив цикл следующим образом.Который пока не решил мою проблему

for document in session.documents.iter(view='tags'):
    print(document.tags)
    document.tags = ["Test"]
    document.update()

1 Ответ

0 голосов
/ 23 января 2019

Я не знаком с Mendeley Python SDK, но мне показалось странным, что вам не нужно было делать другие звонки после a.tags = "TESTETETSETEST".

Вам не нужно использовать метод update?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...