Skip to content
This repository has been archived by the owner on Jan 7, 2019. It is now read-only.

Kommentare RSS-Feeds anbieten #73

Open
marians opened this issue Feb 4, 2013 · 1 comment
Open

Kommentare RSS-Feeds anbieten #73

marians opened this issue Feb 4, 2013 · 1 comment

Comments

@marians
Copy link
Owner

marians commented Feb 4, 2013

Die Kommentare sollten abonniert werden können, wenigstens als RSS.

Hier ist eine Sammlung an API-Aufrufen zu Disqus:

Alle Threads finden:

https://disqus.com/api/3.0/forums/listThreads.json?forum=offeneskoeln

Darin kann man anhand des "link" attributes die Threads im Blog von den Dokumenten-Detailseiten unterscheiden. Zu jeder Kommentar-Detailseite wird darin auch ein eigener RSS-Feed angeboten. Leider muss man alle Threads abrufen, um die Feeds zu finden.

Alle Posts finden:

https://disqus.com/api/3.0/forums/listPosts.json?forum=offeneskoeln

Da steht zu jedem Post ziemlich viel Kram drin:

{
  "isJuliaFlagged": true,
  "forum": "offeneskoeln",
  "parent": null,
  "author": {
    "username": "facebook-1557258278",
    "about": "",
    "name": "Dieter Maretzky",
    "url": "http://www.facebook.com/dieter.maretzky",
    "isAnonymous": false,
    "rep": 1.232124,
    "profileUrl": "http://disqus.com/facebook-1557258278/",
    "emailHash": "db9a2f24abae20947f2bc3446dc05358",
    "reputation": 1.232124,
    "location": "",
    "isPrimary": true,
    "joinedAt": "2013-02-04T11:28:10",
    "id": "42881561",
    "avatar": {
      "small": {
        "permalink": "http://disqus.com/api/users/avatars/facebook-1557258278.jpg",
        "cache": "http://mediacdn.disqus.com/uploads/users/4288/1561/avatar32.jpg?1359977309"
      },
      "isCustom": false,
      "permalink": "http://disqus.com/api/users/avatars/facebook-1557258278.jpg",
      "cache": "http://mediacdn.disqus.com/uploads/users/4288/1561/avatar92.jpg?1359977309",
      "large": {
        "permalink": "http://disqus.com/api/users/avatars/facebook-1557258278.jpg",
        "cache": "http://mediacdn.disqus.com/uploads/users/4288/1561/avatar92.jpg?1359977309"
      }
    }
  },
  "media": [],
  "points": 0,
  "isFlagged": false,
  "dislikes": 0,
  "raw_message": "Nach dem Finanzausschuss wurde offensichtlich das Projekt nicht weiter betrieben, obwohl im Gro\u00dfraum Godorf ein Mangel an Spielpl\u00e4tzen besteht, wie es in der Beschlussfassung heisst. Das muss dringend, ja vordringlich, auf den Weg gebracht werden.\nDieter Maretzky, B\u00fcrgervereinigung Rodenkirchen e.V.",
  "isApproved": true,
  "isSpam": false,
  "thread": "1064369077",
  "numReports": 0,
  "createdAt": "2013-02-04T11:28:28",
  "isEdited": false,
  "message": "<p>Nach dem Finanzausschuss wurde offensichtlich das Projekt nicht weiter betrieben, obwohl im Gro\u00dfraum Godorf ein Mangel an Spielpl\u00e4tzen besteht, wie es in der Beschlussfassung heisst. Das muss dringend, ja vordringlich, auf den Weg gebracht werden.<br>Dieter Maretzky, B\u00fcrgervereinigung Rodenkirchen e.V.</p>",
  "isHighlighted": false,
  "id": "788005454",
  "isDeleted": false,
  "likes": 0
}

Über die Eigenschaft thread kann man mehr Details zu dem Beitrag abrufen:

https://disqus.com/api/3.0/forums/threads/details.json?thread=1064369077

{
  "code": 0,
  "response": {
    "feed": "http://offeneskoeln.disqus.com/sanierung_und_umgestaltung_des_spielplatzes_katharinenstrae_in_koln_godorf/latest.rss",
    "reactions": 0,
    "canModerate": false,
    "identifiers": [],
    "forum": "offeneskoeln",
    "author": "21466519",
    "userScore": 0,
    "isDeleted": false,
    "title": "Sanierung und Umgestaltung des Spielplatzes Katharinenstra\u00dfe in K\u00f6ln-Godorf",
    "dislikes": 0,
    "id": "1064369077",
    "isClosed": false,
    "posts": 1,
    "userSubscription": false,
    "link": "http://offeneskoeln.de/dokumente/0197-2010/",
    "likes": 0,
    "category": "1266245",
    "message": "",
    "canPost": true,
    "slug": "sanierung_und_umgestaltung_des_spielplatzes_katharinenstrae_in_koln_godorf",
    "createdAt": "2013-02-04T11:20:52"
  }
}

Script

Daraus sollte man ein Script bauen können, dass einen RSS-Feed für alle Kommentare auf der Plattform zusammen stellt und als statische Datei speichert.

Dabei sollte aus Gründen der Performance und API-Limits von Disqus alles, was geht, gecached werden. Sprich: Die Thread-Details sollten wir selbst nach dem ersten Abruf in der Datenbank hinterlegen, damit wir im Normalfall nur die Posts abrufen müssen.

Sowas kann als cronjob minütlich laufen.

Die Ausgabe sollte nur überschrieben werden, wenn sich tatsächlich was geändert hat.

@marians
Copy link
Owner Author

marians commented Feb 4, 2013

Hier ist ein Python-Client für die API von Disqus:

https://github.com/disqus/disqus-python

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

1 participant