Mendeley Data API-Problembericht [geschlossen]Python

Python-Programme
Anonymous
 Mendeley Data API-Problembericht [geschlossen]

Post by Anonymous »

Sehr geehrtes Mendeley Data Support-Team,
Ich schreibe Ihnen, um ein kritisches Problem mit der öffentlichen Mendeley Data-API (data.mendeley.com) zu melden, das mich daran hindert, programmgesteuert auf Datensätze zuzugreifen.
Problembeschreibung
Die Endpunkte der Mendeley Data API geben keine korrekten Daten zurück. Im Einzelnen:
Problem 1: Die Such-API gibt irrelevante Ergebnisse zurück
Anfrage:

Code: Select all

GET https://data.mendeley.com/api/datasets?search=USDA&limit=100
Erwartetes Ergebnis: Datensätze, die „USDA“ in ihren Metadaten enthalten.
Tatsächliches Ergebnis: Die API gibt Datensätze zurück, die keinen Bezug zum Suchbegriff „USDA“ haben. Beispielsweise erhalten wir Datensätze zu „Paläomagnetischen Studien in Mexiko“, „Diabetesforschung“, „Statistiken zu geschlechtsspezifischer Gewalt“ usw. Keiner dieser Datensätze enthält irgendwo „USDA“ in seinen Metadaten.
Problem 2: Direkte Datensatz-ID-Suche gibt falsche Daten zurück
Anfrage:

Code: Select all

GET https://data.mendeley.com/api/datasets/pgjvbwznk5/1
Erwartetes Ergebnis: Der spezifische Datensatz „A Bills of Materials Dataset for Buildings Made of Mass Timber, Structural Steel, and Reinforced Concrete“ vom USDA Forest Products Laboratory (DOI: 10.17632/pgjvbwznk5.1).
Tatsächliches Ergebnis: Die API gibt eine JSON-Antwort mit {"data" zurück: {"results": [...]}} enthält 10 zufällige Datensätze, von denen keiner der angeforderte Datensatz ist.
Problem 3: API ignoriert URL-Parameter
Sowohl versionierte als auch nicht versionierte URLs geben dieselbe falsche paginierte Liste zurück:
  • Code: Select all

    GET /api/datasets/pgjvbwznk5
    → Gibt zufällige Datensätze zurück
  • Code: Select all

    GET /api/datasets/pgjvbwznk5/1
    → Gibt dieselben zufälligen Datensätze zurück
Die Datensatz-ID in der URL scheint vollständig ignoriert zu werden.
Bestätigte Datensätze, die abrufbar sein sollten
Ich habe (über einen Webbrowser und eine Google-Suche) überprüft, dass die folgenden USDA-bezogenen Datensätze auf Mendeley Data vorhanden sind:
Datensatz IDDOITitlePublishedpgjvbwznk510.17632/pgjvbwznk5.1Bills of Materials Dataset – USDA Forest Products Laboratory2024-01-18xwwsmncckr10.17632/xwwsmncckr.4USDA FoodData Central Protein Daten2024-08-05g26btxwxz910.17632/g26btxwxz9.1USDA Foods Programs Nährwertdaten2023-03-03ky83vw36t510.17632/ky83vw36t5.1USDA POX C-Proben2020-05-04
Diese Datensätze sind über die Weboberfläche unter https://data.mendeley.com/datasets/{id}/{version} zugänglich, kann aber nicht über die API abgerufen werden.
Testcode
Hier ist ein einfaches Python-Skript, das das Problem demonstriert:
Python

Code: Select all

import requests

# Test 1: Search for USDA
response = requests.get(
"https://data.mendeley.com/api/datasets",
params={"search": "USDA", "limit": 10},
headers={"Accept": "application/json"}
)
data = response.json()
results = data.get("data", {}).get("results", [])

print("Search for 'USDA' returned:")
for r in results[:5]:
print(f"  - {r.get('name', 'Unknown')}")
print(f"    ID: {r.get('id')}")

# Test 2: Direct ID lookup
response = requests.get(
"https://data.mendeley.com/api/datasets/pgjvbwznk5/1",
headers={"Accept": "application/json"}
)
data = response.json()
print(f"\nDirect lookup of pgjvbwznk5/1:")
print(f"  Response keys: {data.keys()}")
Fragen
  • Gibt es ein bekanntes Problem mit der Mendeley Data API, das uns bekannt sein sollte?
  • Gibt es einen alternativen API-Endpunkt, den wir verwenden sollten?
  • Ist auch für öffentliche Datensätze eine bestimmte Authentifizierungsmethode erforderlich?
  • Gibt es einen voraussichtlichen Zeitplan, wann das Problem behoben sein könnte?
Vielen Dank!
Billy

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post