[PYTHON] Massenposting an Qiita: Team mit Qiita API

Motivation

Die Gruppe, der ich angehöre, beschloss plötzlich, Qiita vorzustellen: Team, "Ich möchte die Tipps und Know-how-Dateien, die ursprünglich im Text geteilt wurden, an das Qiita-Team verschieben." Und das. .. .. Ich beschloss, es zuerst zu versuchen.

→ "Sie können den Text immer über das Web sehen" → "Einfach markiert und verwaltet" → "Sie können Erwähnungen im Team überspringen und lesen lassen." Ich habe mir etwas ausgedacht, das gut aussieht. .. .. Ich habe Batch-Posting mit der Qiita-API implementiert.

Der gestolperte Teil

Ich begann es mit einem leichten Gefühl zu implementieren, stieß aber auf einige Probleme.

  1. Fehler mit doppeltem Array von "Tags"
  2. Einheitliche Textdatei-Codierung nach utf-8
  3. Fügen Sie Tags für jedes Verzeichnis hinzu

1. Array of'tags '

Laut der Qiita-API (http://qiita.com/docs/api#14) Sie können Name und Version in die Tags der Eingabe einfügen.

before.json


{
    "title": "test",
    "body": "This is a test posting.",
    "tags": {
        "name": "tips"
    },
    "team_url_name": "ourteam"
}

Das habe ich immer gefühlt. .. ..

after.json


{
    "title": "test",
    "body": "This is a test posting.",
    "tags": [
        {
            "name": "tips"
        }
    ],
    "team_url_name": "ourteam"
}

Ich konnte das tun. Dies ist ein rudimentärer Fehler.

2. Einheitliche Textdatei-Codierung nach utf-8

Selbst wenn ich versuche, Shift-Jis auf dem Mac in Utf-8 umzuwandeln, Mir ist aufgefallen, dass es mehrere Textdateien gibt, die aus irgendeinem Grund nicht gelesen werden können. Wenn ich es mit cotEditor öffne. .. .. Windows DOS?

Als ich es nachgeschlagen habe, schien es der Zeichencode cp932 zu sein. In dem in Python implementierten Code schien er getrennt von Shift-Jis erkannt zu werden.

3. Fügen Sie Tags für jedes Verzeichnis hinzu

Beim Posten einer Textdatei in einem beliebigen Verzeichnis Ich habe beschlossen, diesen Verzeichnisnamen in das Tag einzufügen. Ich weiß jedoch nicht, wie ich die Zeichenkette effizient erhalten kann.

file_name, ext = os.path.splitext(file)
tag_line = files[len(path)+1:]
tag_list = tag_line.split('/')

Trennen Sie den Dateinamen und die Erweiterung Schneiden Sie die Zeichenfolge unter dem Pfad mit '/' Während der Implementierung: "Oh, ich frage mich, ob es einen intelligenteren Weg gibt." Ich habe in diesem Sinne programmiert. (Mit dieser Methode konnte ich die Zeichenfolge vorerst problemlos als Tag als Array abrufen.)

Nach der Montage

Wenn Sie sorgfältig darüber nachdenken, können Sie nur das von Ihnen gepostete Konto bearbeiten Später habe ich es manuell in "Co-Editing" geändert, Tohoho.

Als ich Herrn Qiita wegen dieser Angelegenheit kontaktierte, Es scheint, dass es von der in der Entwicklung befindlichen Qiita API v2 unterstützt wird. Ich freue mich darauf.

Stichprobe

https://github.com/tkshnkmr/qiita_api

Recommended Posts

Massenposting an Qiita: Team mit Qiita API
So erhalten Sie Artikeldaten mithilfe der Qiita-API
Versuchen Sie, Tweets mithilfe der Twitter-API in großen Mengen zu löschen
So zeigen Sie eine Karte mit der Google Map API (Android) an
Vorgehensweise zur Verwendung der WEG-API von TeamGant (mit Python)
Erstellen Sie einfach einen API-Server mit dem Modul go-json-rest
Letzte Ranglistenerstellung mit der Qiita-API mit Python
Versuchen Sie, die ChatWork-API und die Qiita-API in Python zu verwenden
Versuchen Sie zum ersten Mal, in Qiita zu posten
[Rails] So erhalten Sie Standortinformationen mithilfe der Geolocation-API
Vorverarbeitung zum Erstellen eines seq2seq-Modells unter Verwendung der Funktions-API von keras
PUSH-Benachrichtigung von Python an Android mithilfe der Google-API
Versuchen Sie, mit MVC eine RESTful-API mit Flask 1.0.2 zu erstellen
Posten Sie mit der API auf Twitter in Ihrem Konto
Analysieren mit Google Colaboratory mithilfe der Kaggle-API
Ich habe versucht, Videos mit der Youtube Data API (Anfänger) zu suchen.
Zurücksetzen des Passworts über die API mit dem Django Rest Framework
Fordern Sie heraus, Yahoo! News-Überschriften nur mit der COTOHA-API zu generieren
Qiita API Python Wrapper für die Stapelverarbeitung zum Abrufen von Qiita-Posts
Versuchen Sie, Lebensmittelfotos mithilfe der Google Cloud Vision-API zu beurteilen
Ausgabe von Produktinformationen an csv mithilfe der Rakuten-Produktsuch-API [Python]