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.
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.
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)
python
#!/usr/bin/env python
import sys
mylistname = sys.argv[1]
argvs = sys.argv[2:]
print mylistname
print argvs
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
https://github.com/sorah/niconico
https://github.com/google/google-api-ruby-client
https://developers.google.com/+/api/latest/?hl=ja
Recommended Posts