Google Books API

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Google Books API

    Hallo zusammen,
    ich probiere mich gerade im "Selbstlernversuch" am Programmieren, und möchte mich mal im Programmieren einer kleinen App vertiefen. Der Anfang klappte soweit ganz gut, jetzt stehe ich allerdings vor einem kleinen Problem, dass ich nicht ganz verstehe :)

    Ich scanne mit meiner App einen ISBN Code ein, der dann über die Google Books API die entsprechenden Daten abruft und in der App anzeigt. Das klappt soweit auch ganz gut - allerdings nicht so umfänglich wie ich mir das wünsche. Leider gibt mir die JSON nicht alle Angaben zurück, die ich gerne hätte. Ich habe mir die API in RapidAPI angeschaut, und dort gibt es unter anderem eine "description" die ich auch in der App anzeigen möchte (siehe Screenshot). Da in der API mehrere Items zu dem Buch hinterlegt sind, möchte ich die Informationen aus index0 haben (in RapidAPI ist dort eine description angezeigt). Das mache ich mit

    Quellcode

    1. Text("\(foundBooks?.items.first?.volumeInfo.description ?? "Beschreibung")")

    Leider kommt die description aber nicht in meiner App an. Die Informationen der JSON die zurückgegeben wird enthält nur folgende Informationen:

    Quellcode

    1. 9783737400657
    2. Erhaltene JSON-Antwort: {
    3. "kind": "books#volumes",
    4. "totalItems": 1,
    5. "items": [
    6. {
    7. "kind": "books#volume",
    8. "id": "8rJozgEACAAJ",
    9. "etag": "+/T4lbWgjnw",
    10. "selfLink": "https://www.googleapis.com/books/v1/volumes/8rJozgEACAAJ",
    11. "volumeInfo": {
    12. "title": "Südwärts",
    13. "subtitle": "Die Endurance Expedition",
    14. "authors": [
    15. "Ernest Henry Shackleton"
    16. ],
    17. "publishedDate": "2021-08-20",
    18. "industryIdentifiers": [
    19. {
    20. "type": "ISBN_10",
    21. "identifier": "3737400652"
    22. },
    23. {
    24. "type": "ISBN_13",
    25. "identifier": "9783737400657"
    26. }
    27. ],
    28. "readingModes": {
    29. "text": false,
    30. "image": false
    31. },
    32. "pageCount": 448,
    33. "printType": "BOOK",
    34. "maturityRating": "NOT_MATURE",
    35. "allowAnonLogging": false,
    36. "contentVersion": "preview-1.0.0",
    37. "panelizationSummary": {
    38. "containsEpubBubbles": false,
    39. "containsImageBubbles": false
    40. },
    41. "language": "de",
    42. "previewLink": "http://books.google.de/books?id=8rJozgEACAAJ&dq=isbn:9783737400657&hl=&cd=1&source=gbs_api",
    43. "infoLink": "http://books.google.de/books?id=8rJozgEACAAJ&dq=isbn:9783737400657&hl=&source=gbs_api",
    44. "canonicalVolumeLink": "https://books.google.com/books/about/S%C3%BCdw%C3%A4rts.html?hl=&id=8rJozgEACAAJ"
    45. },
    46. "saleInfo": {
    47. "country": "DE",
    48. "saleability": "NOT_FOR_SALE",
    49. "isEbook": false
    50. },
    51. "accessInfo": {
    52. "country": "DE",
    53. "viewability": "NO_PAGES",
    54. "embeddable": false,
    55. "publicDomain": false,
    56. "textToSpeechPermission": "ALLOWED",
    57. "epub": {
    58. "isAvailable": false
    59. },
    60. "pdf": {
    61. "isAvailable": false
    62. },
    63. "webReaderLink": "http://play.google.com/books/reader?id=8rJozgEACAAJ&hl=&source=gbs_api",
    64. "accessViewStatus": "NONE",
    65. "quoteSharingAllowed": false
    66. }
    67. }
    68. ]
    69. }
    Alles anzeigen
    Keine description dabei, obwohl sie mir in RapidAPI angezeigt wird. Bei keinem meiner Testbücher wird eine description mitgeliefert. Woran liegt das?
    Dateien
  • Es sieht so aus, als ob die Google Books API in deiner Antwort keine Beschreibungen (description) für die gefundenen Bücher enthält. In der gegebenen JSON-Antwort ist dieses Feld nicht vorhanden. Es ist wichtig zu beachten, dass nicht alle Bücher in der Google Books-Datenbank eine ausführliche Beschreibung haben, und daher könnte das der Grund sein, warum du keine description in der Antwort erhältst.
    Du kannst jedoch versuchen, zusätzliche Informationen abzurufen, indem du auf andere Felder in der volumeInfo-Sektion zugreifst. Zum Beispiel könntest du versuchen, den subtitle oder andere verfügbare Informationen zu verwenden, wenn die description nicht verfügbar ist.
    Hier ist ein Beispiel, wie du auf den subtitle zugreifen kannst:

    Quellcode

    1. Text("\(foundBooks?.items.first?.volumeInfo.subtitle ?? "Kein Untertitel")")


    Du kannst dies anpassen, um auf andere verfügbare Informationen zuzugreifen, bis du das gewünschte Ergebnis erzielst.
    Wenn du sicherstellen möchtest, dass die description in der API verfügbar ist, kannst du auch die offizielle Dokumentation der Google Books API überprüfen oder den Anfrage-URL in deinem Code überprüfen, um sicherzustellen, dass du nach der description-Eigenschaft suchst.
  • manoh schrieb:

    @Born124 - Fragst Du jetzt Copilot/ChatGPT um eine Antwort zu schreiben?
    Das war auch mein erster Reflex - die Beiträge erscheinen doch sehr "steril" und ChatGPT-like unspezifisch. Solange es kein Spam wird, bin ich noch okay und lasse mich gerne eines besseren belehrten. Und sollte ich mich irren, entschuldige mich für die Unterstellung ;)

    Mattes
    Diese Seite bleibt aus technischen Gründen unbedruckt.