[PYTHON] Was Sie mit API Vol.1 tun können

Einführung

Dieses Mal möchte ich vorstellen, was Sie mit API tun können.

Die API hier ist so etwas wie eine Funktion, die jederzeit aufgerufen werden kann, wenn Sie mit dem Internet verbunden sind.

Wir planen, das, was Unternehmen und Einzelpersonen der Öffentlichkeit zugänglich machen, vorzustellen.

lächelnd

So erstellen Sie meine Liste und registrieren meine Liste bei Nico Nico Video

Unter Bezugnahme auf die Seite hier habe ich ein Nico Nico-Video geschrieben, um meine Liste zu erstellen und zu registrieren.

nico_mylist_add.py


#!/usr/bin/env python
#coding: utf8
import sys, re, cgi, urllib, urllib2, cookielib, xml.dom.minidom, time, netrc
import json
 
#netrc
netrc = netrc.netrc()
userid,a,passwd = netrc.authenticators("nicovideo")
 
def getToken():
    html = urllib2.urlopen("http://www.nicovideo.jp/my/mylist").read()
    for line in html.splitlines():
        mo = re.match(r'^\s*NicoAPI\.token = "(?P<token>[\d\w-]+)";\s*',line)
        if mo:
            token = mo.group('token')
            break
    assert token
    return token
 
def mylist_create(name):
    cmdurl = "http://www.nicovideo.jp/api/mylistgroup/add"
    q = {}
    q['name'] = name.encode("utf8")
    q['description'] = ""
    q['public'] = 0
    q['default_sort'] = 0
    q['icon_id'] = 0
    q['token'] = token
    cmdurl += "?" + urllib.urlencode(q)
    j = json.load( urllib2.urlopen(cmdurl), encoding='utf8')
    return j['id']
 
def addvideo_tomylist(mid,smids):
    for smid in smids:
        cmdurl = "http://www.nicovideo.jp/api/mylist/add"
        q = {}
        q['group_id'] = mid
        q['item_type'] = 0
        q['item_id'] = smid
        q['description'] = u""
        q['token'] = token
        cmdurl += "?" + urllib.urlencode(q)
        j = json.load( urllib2.urlopen(cmdurl), encoding='utf8')
        time.sleep(0.5)
 
#Einloggen
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookielib.CookieJar()))
urllib2.install_opener(opener)
urllib2.urlopen("https://secure.nicovideo.jp/secure/login",
                urllib.urlencode( {"mail":userid, "password":passwd}) )
#Bekomme Token
token = getToken()
 
#argv
myn = sys.argv[1]
argvs = sys.argv[2:]
 
#Erstelle meine Liste und registriere Videos
mid = mylist_create(myn)
addvideo_tomylist(mid, argvs )

Es ist einfach zu bedienen und gibt der Datei Ausführungsberechtigung. Übergeben Sie dann die URL und führen Sie sie aus.

python


$ chmod +x nico_mylist_add.py

$ ./nico_mylist_add.py mylistname sm9 sm1097445 sm1715919

Die Änderungen sind (1) die Anmeldeinformationen werden von "netrc" erhalten, und (2) der Name und die URL von "Meine Liste" werden aus den Argumenten erhalten.

Holen Sie sich Anmeldeinformationen von netrc

Das "netrc" ist wie folgt.

python


$ cat ~/.netrc
 
#############################
machine   nicovideo
login     [email protected]
password  pass123
#############################

Die Verarbeitung ist wie folgt.

python


#!/usr/bin/env python
import netrc
netrc = netrc.netrc()
l, a, p = netrccfg.authenticators("nicovideo")
print "My Login = %s" % (l)
print "My Password = %s" % (p)
print "My Account= %s" % (a)

Holen Sie sich den Namen und die URL von Meine Liste aus dem Argument

python


#!/usr/bin/env python
import sys
mylistname = sys.argv[1]
argvs = sys.argv[2:]
print mylistname
print argvs

So registrieren Sie meine Liste in einer vorhandenen Liste mit Nico Nico Video

Nehmen Sie beispielsweise die folgenden Änderungen vor, um eine URL in einer vorhandenen Meine Liste zu registrieren.

Ändern Sie zuerst addvideo_tomylist. Setzen Sie group_id in den Teil von xxxx.

Um die group_id zu erhalten, verwenden Sie http: // www.nicovideo.jp / api / mylistgroup / list. Vielleicht ...

Referenz: http://efcl.info/wiki/niconicoapi/

def addvideo_tomylist(smids):
    for smid in smids:
        cmdurl = "http://www.nicovideo.jp/api/mylist/add"
        q = {}
        q['group_id'] = xxxxxxxx
        q['item_type'] = 0
        q['item_id'] = smid
        q['description'] = u""
        q['token'] = token
        cmdurl += "?" + urllib.urlencode(q)
        j = json.load( urllib2.urlopen(cmdurl), encoding='utf8')
        time.sleep(0.5)

Außerdem ist es nicht mehr erforderlich, den Namen "Meine Liste" als Argument zu übergeben. Ändern Sie diesen Teil.

#argv
#myn = sys.argv[1]
argvs = sys.argv[1:]

Google+

Versuchen Sie, Benutzerinformationen mithilfe der Google+ API abzurufen.

Erstellen Sie in Google Cloud Console ein Projekt und aktivieren Sie die Verwendung der API.

Greifen Sie zunächst mit Ihrem Browser auf die folgende URL zu und erhalten Sie den "Autorisierungscode".

python


https://accounts.google.com/o/oauth2/auth?client_id=[Kunden ID]&redirect_uri=[URI umleiten]&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fplus.me&response_type=code

Bitte beachten Sie, dass [] nicht enthalten ist.

Autorisierungscode ist der Teil der Seiten-URL unter code =.

python


$ curl -d client_id=[YOUR Client Id] -d client_secret=[YOUR Client Secret] -d redirect_uri=http%3A%2F%2Flocalhost%2Foauth2callback -d grant_type=authorization_code -d code=[YOUR Authorization code] https://accounts.google.com/o/oauth2/token

Da "access_token" usw. ausgegeben wird, können Sie Benutzerinformationen mit diesem Wert abrufen. Die Seite von hier ist sehr hilfreich Es wird sein.

python


$ curl -H "Authorization: OAuth [YOUR Access_token]" https://www.googleapis.com/plus/v1/people/me

Beachten Sie, dass "access_token" nach einer bestimmten Zeit abläuft. Wenn Sie also eine App erstellen möchten, die die Google-API verwendet, sollten Sie "refresh_token" verwenden.

Referenz: http://mba-hack.blogspot.jp/2013/12/google-api.html

Referenz

https://github.com/sorah/niconico

https://github.com/google/google-api-ruby-client

https://developers.google.com/+/api/latest/?hl=ja

Recommended Posts

Was Sie mit API Vol.1 tun können
Python | Was Sie mit Python machen können
Was Sie mit Programmierkenntnissen machen können
Was Sie mit Tensorflow 2.x tun können und was nicht
Was können Sie mit den Standardstatistiken der Python-Bibliothek tun?
Überlegen Sie im Qiita-Artikel, was Sie mit Python tun können
Sie werden in 100 Tagen Ingenieur - Tag 35 - Python - Was Sie mit Python tun können
Links, um mit Sublime Text zu tun, was Sie wollen
Was Sie mit hstack oder vstack mit dstack nicht machen können
Bis Sie mit Jupyter eine einfache Bilderkennung durchführen können
[AWS] Was tun, wenn Sie mit Lambda pfeifen möchten?
Was tun, wenn Sie keine Dateien mit Indizes sortieren können?
[Python] Was machen Sie mit der Visualisierung von 4 oder mehr Variablen?
Was tun mit der Installation von Magics?
Was tun mit PYTHON Release?
Was tun, wenn bei der Pip-Installation ein Unicode-Dekodierungsfehler auftritt?
Was tun, wenn Sie mit Maven kein Projekt erstellen können?
Datenanalyse, was machen Sie denn?
Bis Sie opencv mit Python verwenden können
Lassen Sie uns zusammenfassen, was Sie tun möchten.
Was tun, wenn die Option -f von grep nicht funktioniert?
Was tun, wenn Sie sich mit FileNotFoundError in der Dateireferenz verlieren?
Was tun, wenn TypeError in min und max von numpy auftritt?
Was tun, wenn Sie nicht mit pip in einer Babun-Umgebung installieren können?
Sie können es mit Python tun! Strukturanalyse zweidimensionaler kolloidaler Kristalle
Was tun, wenn Sie URL 443 mit pip nicht abrufen konnten?
Bis du weißt, was du mit Django mit Jenkins gemacht hast
Swapon fehlgeschlagen: Was tun, wenn Sie sich über eine Operation ärgern, die nicht zulässig ist?
Kann in 5 Minuten erledigt werden! Erstellen Sie eine Gesichtserkennungs-API mit Fast API und OpenCV und veröffentlichen Sie sie auf Heroku
Was tun, wenn die Pipenv-Shell nicht mehr möglich ist?
Bis Sie die Kaggle-API mit Colab verwenden
Können Sie Kaggle nur mit Ihrem iPad herausfordern?
Sie können auch mit Python problemlos eine GUI erstellen
Wenn ihr in der Scope-Küche das mit einem Rand machen könnt ~ ♪
Bis Sie die Google Speech API verwenden können
Was vergleichst du mit Python und ==?
Was tun, wenn bei der Installation von Python mit pyenv eine Fehlermeldung angezeigt wird?
Ist die parallele Programmierung schwierig, und wenn ja, was können Sie dagegen tun?
Was soll ich mit DICOM von MPEG2 machen?
Sie können jetzt Folien mit nbviewer anzeigen! [Jupyter]
Was verwenden Sie beim Testen mit Python?
Überlegen Sie, wann Sie mit Python3 und Scala3 in 10 Jahren gute Arbeit leisten können.
Was tun, wenn beim Importieren von matplotlib mit Jupyter ein Importfehler auftritt?
Was tun, wenn Sie Python auf IntelliJ ausführen und mit einem Fehler beenden?
Was tun, wenn Sie mysqlclient nicht per Pip installieren können?
Kein Modul mit dem Namen Was tun, wenn Sie "libs.resources" erhalten?
Das Ablesen des analogen Messgeräts kann am Beispiel MNIST erfolgen.
Was ist pip und wie benutzt du es?
Dinge zu tun, wenn Sie anfangen, sich mit Django zu entwickeln
Notieren Sie sich, was Sie in Zukunft mit Razpai machen möchten
Extrudieren Sie mit der Fusion360-API
Mach Houdini mit Python3! !! !!
Was macht Djangos Rendering?
Was tun, wenn beim Versuch, pip mit pyenv zu verwenden, ein undefinierter Fehler angezeigt wird?
Bis Sie Ihre eigene Python-Bibliothek mit pip installieren können
Was tun, wenn Sie von Windows-Zeichencodes abhängig sind?
Wenn Sie TinderBot in Python schreiben, kann sie das tun
Verschieben Sie das, was Sie mit pip installiert haben, in die Conda-Umgebung
Was tun, wenn Overalls "Abdeckung unbekannt" werden?
Was tun, wenn beim Importieren von _ssl ein Fehler auftritt?