python-orcid

Autori

Mateusz Susik <[email protected]>

Instalare

Note

Acest README ar putea fi usor depasit. Puteti ajuta prin trimiterea unei cereri de extragere.

Manevrarea exceptiilor

Metodele acestei biblioteci ar putea genera erori de client sau server. O eroare este o exceptie care provine din biblioteca de cereri dovedite. Modul obisnuit de a lucra cu ei ar trebui sa fie:

din cereri import RequestException import orcid api = orcid.MemberAPI (cheie, secret, sandbox = True) incercati: api.add_record (autor-orcid, token, ‘work’, {‘title’: ‘Title’, ‘type’: ‘ artistic-performance ‘}) cu exceptia RequestException ca e: # Aici trebuie tratata eroarea. Deoarece mesajul de exceptie ar putea fi # prea generic, informatii suplimentare pot fi obtinute prin: print (e.response.text) # Raspunsul este o instanta de raspuns la solicitari.

Introducere

ORCID este un efort deschis, non-profit, bazat pe comunitate, pentru a oferi un registru de identificatori unici ai cercetatorilor si o metoda transparenta de legare a activitatilor de cercetare si a rezultatelor la acesti identificatori. ORCID este unic prin capacitatea sa de a ajunge la discipline, sectoare de cercetare si granite nationale si prin cooperarea sa cu alte sisteme de identificare.

ORCID ofera o interfata API (Application Programming Interface) care permite sistemelor si aplicatiilor dvs. sa se conecteze la registrul ORCID, inclusiv citirea si scrierea in inregistrarile ORCID.

Exista doua tipuri de API disponibile pentru dezvoltatori.

PublicAPI

API-ul public permite dezvoltatorilor sa utilizeze motorul de cautare si sa citeasca inregistrarile autorilor. Pentru a-l utiliza, trebuie sa treceti cheia si secretul institutiei.

Functionalitatea acestui API este disponibila si in API-ul membru.

Jeton

Pentru a citi sau actualiza inregistrari, este necesar jetonul. Jetoanele provin din autorizatia cu 3 picioare OAuth. Puteti efectua autorizarea utilizand aceasta biblioteca (exemple mai jos).

Cu toate acestea, daca utilizatorul este deja conectat la ORCiD si autentificat (deci aveti un cod de autorizare), acest proces poate fi simplificat:

import orcid api = orcid.PublicAPI (institution_key, institution_secret, sandbox = True) token = api.get_token_from_authorization_code (autorizare_code, redirect_uri)

Un caz special sunt jetoanele pentru efectuarea interogarilor de cautare. Astfel de interogari nu necesita autentificare utilizator, sunt necesare doar acreditari ale institutiei.

import orcid api = orcid.PublicAPI (institution_key, institution_secret, sandbox = True) search_token = api.get_search_token_from_orcid ()

Prin reutilizarea aceluiasi simbol, functiile de cautare vor rula mai repede omiind procesul de autentificare.

abuelas por el culo folladas peludas
hermanos españoles follando nenas peludas
porno españa casero sol sanchez actriz porno
pirno pilladas sin bragas
porno gay castellano sione cooper
pajas trans jovencita caliente
hombres corriendose viejas calientes
viejas en orgias porno comic español
xxx abuelas videos porno peruano
porno esp porno gay guarro
jolla pr shakira follando
coñosxxx maduras españolas anal
maduras españolas camara oculta sexo gratis incesto
esposas compartidas enanas porno
tetonas en español tetas puntiagudas
tias cachondas follando española
tetas puntiagudas pormo
peliculas eroticas gratis pajas en coche
zoofila trio amateur español
incesto italiano porno videos caserosxxx

In cautarea

import orcid api = orcid.PublicAPI (institution_key, institution_secret, sandbox = True) search_results = api.search (‘text: engleza’, access_token = Token)

In timp ce creati o interogare de cautare, este posibil sa utilizati un generator pentru a reduce timpul necesar pentru preluarea unei inregistrari.

search_results = api.search_generator (‘text: engleza’, paginare = 20) first_result = next (search_results)

Citirea inregistrarilor

import orcid api = orcid.PublicAPI (institution_key, institution_secret, sandbox = True) search_results = api.search_public (‘text: engleza’) # Get the Summary token = api.get_token (user_id, user_password, redirect_uri) summary = api.read_record_public ( „0000-0001-1111-1111”, „activitati”, simbol) sumar = api.read_record_public („0000-0001-1111-1111”, „inregistrare”, simbol)

Fiecare inregistrare din dictionarul rezumat ar trebui sa contina coduri put . Folosindu-le, este posibil sa interogati inregistrarea specifica pentru detalii. Tipul inregistrarii si codul de punere trebuie furnizate.

# Obtineti inregistrarea specifica = api.read_record_public (‘0000-0001-1111-1111’, ‘work’, token, ‘1111’)

Se face o exceptie pentru lucrarile request_type. Este posibil sa preluati mai multe lucrari selectate simultan selectand mai multe put_codes intr-o lista.

work = api.read_record_public (‘0000-0001-1111-1111’, ‘works’, token, [‘1111’, ‘2222’, ‘3333’])

Utilitati suplimentare

Python-orcid ofera o functie pentru crearea unei adrese URL de autentificare / inregistrare.

url = api.get_login_url (‘/ authenticate’, redirect_uri, email = email)

MemberAPI

API-ul membru permite dezvoltatorilor sa adauge / sa schimbe / sa elimine inregistrari. Pentru a modifica inregistrarile, este nevoie de un simbol care poate fi obtinut in urma procesului de autorizare cu 3 picioare OAuth.

API-ul membru permite dezvoltatorului sa obtina mai multe informatii atunci cand foloseste API-ul de cautare sau preia inregistrarile.

Pentru a crea o instanta a handlerului API membru, trebuie furnizate cheia institutiei si secretul institutiei.

import orcid api = orcid.MemberAPI (institution_key, institution_secret, sandbox = True) search_results = api.search (‘text: engleza’) # Obtineti token-ul rezumat = api.get_token (user_id, user_password, redirect_uri, ‘/ read-limited’ ) summary = api.read_record_member (‘0000-0001-1111-1111’, ‘activitati’, token)

Toate metodele din API-ul public sunt disponibile in API-ul membru.

Obtinerea ORCID

Daca ORCID-ul unui autor nu este cunoscut, il puteti obtine autorizand utilizatorul:

orcid = api.get_user_orcid (user_id, parola, redirect_uri)

Adaugarea / actualizarea / eliminarea inregistrarilor

Folosind API-ul membru, puteti adauga / actualiza / elimina inregistrari din profilul ORCID.

Sunt acceptate toate tipurile de inregistrari.

put_code = api.add_record (author-orcid, token, ‘work’, json) # Schimbati tipul in ‘other’ api.update_record (author-orcid, token, ‘work’, put-code, {‘type’: ‘ OTHER ‘}) api.remove_record (author-orcid, token,’ work ‘, put-code)

Jetonul este sirul primit de la autorizatia cu 3 picioare OAuth.

Ultimul argument este inregistrarea in sine. Inregistrarea trebuie sa urmeze definitiile inregistrarilor JSON ale ORCID. Iata un exemplu de dictionar care poate fi transmis ca argument:

{“title”: {“title”: {“value”: “Work # 1”}, “subtitle”: null, “translated-title”: null}, “journal-title”: {“value”: “journal # 1 “},” scurt-descriere “: null,” type “:” JOURNAL_ARTICLE “,” external-ids “: {” external-id “: [{” external-id-type “:” doi “,” external -id-value “:” ext-id-1 “,” external-id-url “: {” value “:” http://dx.doi.org/ext-id-1 “},” external-id -relationhip “:” SELF “}]}}

Daca nu stiti cum sa va structurati JSON-ul, vizitati ORCID swagger

Este posibil sa actualizati multe lucrari in acelasi timp! Tipul de cerere pentru lucrari din SUA si trecem un JSON ca acesta:

“bulk”: [{“work”: {“title”: {“title”: {“value”: “Work # 1”},}, “journal-title”: {“value”: “journal # 1” }, “type”: “JOURNAL_ARTICLE”, “external-ids”: {“external-id”: [{“external-id-type”: “doi”, “external-id-value”: “ext-id- 1 “,” external-id-url “: {” value “:” http://dx.doi.org/ext-id-1 “},” external-id-relation “:” SELF “}]}} }, {“work”: {“title”: {“title”: {“value”: “Work # 2”},}, “journal-title”: {“value”: “journal # 2″}, ” tastati “:” JOURNAL_ARTICLE “,” external-ids “: {” external-id “: [{“external-id-type “:” doi “,” external-id-value “:” ext-id-2 “,” external-id-url “: {” value “:” http://dx.doi.org / ext-id-2 “},” external-id-relation “:” SELF “}]}}}}