2017年09月07日

YouTube data API v3 のAPIキー取得の備忘録

YouTube API は、YouTube が提供しているWebサービスを利用できるように公開されたAPIのこと。
YouTube Data API の概要

Webサイトなどで YouTube API を使用する場合、ライセンス表示が必要。
You do not need special approval to use YouTube APIs or to promote API functionality in your application. However, any YouTube logo used within an application must link back to YouTube content or to a YouTube component of that application.
引用:YouTube API Services - Branding Guidelines



Googleアカウントでログインした状態だとして話を進める。

Google Developers Console にアクセス。
利用規約の更新が表示されれば、[はい] を選択し、[同意する] をクリック。
google_api05.png

google_api01.png

[ライブラリ] から [YouTube Data API] をクリック。
google_api02.png

APIを有効にするにはプロジェクトが必要とあるので、
まずは [プロジェクトを作成] をクリック。
google_api03.png

[作成] をクリック。
google_api04.png

プロジェクト名をつけ、作成する。
google_api06.png


作成したプロジェクト名が上部に表示されているはず。
[認証情報] から [認証情報を作成] をクリック。
google_api07.png

[APIキー] を選択すれば、APIキーが発行される。
google_api08.png

google_api09.png


再度、[ライブラリ] から [YouTube Data API] をクリック。
上部にある、YouTube Data API v3 を [有効にする] をクリックする。
google_api10.png

これで、YouTube Data API v3 が有効になる。
google_api11.png

[認証情報] のAPIキーを使い、YouTube Data API v3 が使える。
google_api12.png


テストする。
APIを使い検索してみる。
https://www.googleapis.com/youtube/v3/search?part=snippet&q=ここに検索したい単語を入れる&key=ここにAPIキーを入れる

失敗だったら、以下のようにエラーが出力される。
{
"error": {
"errors": [
{
"domain": "usageLimits",
"reason": "keyInvalid",
"message": "Bad Request"
}
],
"code": 400,
"message": "Bad Request"
}
}


成功していれば、取得結果がJSON形式のデータで表示される。


posted by Zorinos at 20:00| Comment(0) | ツール | 更新情報をチェックする

2017年09月05日

Apache2 で Basic認証 を設定

apache2 で Basic認証を設定する方法には
confに設定する方法と、.htaccessファイルを使う方法の2つの方法がある。
Basic認証(ベーシックにんしょう、Basic Authentication)とは、HTTPで定義される認証方式の一つ。基本認証と呼ばれることも。
Basic認証では、ユーザ名とパスワードの組みをコロン ":" でつなぎ、Base64でエンコードして送信する。このため、盗聴や改竄が簡単であるという欠点を持つが、ほぼ全てのWebサーバおよびブラウザで対応しているため、広く使われている。引用:Wikipedia


環境:
  • Ubuntu 16.04
  • Apache 2.4.18




ユーザーとパスワードの設定


どちらの方法でも認証のために、ユーザーとパスワードの設定は必要。先に作成しておく。


ユーザー管理ファイルを作成


管理ファイルを新規作成する場合、

$ sudo htpasswd -c ファイル名 ユーザー名

実行すると、パスワードの入力を求められるので2回入力する。

$ sudo htpasswd -c /etc/apache2/.htpasswd user1
New password:
Re-type new password:
Adding password for user user1


既に管理ファイルが存在していて、2回目以降のユーザー作成では、オプション -C を付けない。
$ sudo htpasswd /etc/apache2/.htpasswd user2
New password:
Re-type new password:
Adding password for user user2


ユーザー管理ファイルの置き場所はどこでもいいが、セキュリティ上、公開されていないディレクトリ上に作成すること。


パスワードの変更


パスワードを変更したい場合も、同様のコマンドで更新する。
$ sudo htpasswd /etc/apache2/.htpasswd user1
New password:
Re-type new password:
Updating password for user user1






ユーザーの削除


オプション -D を付ける。
$ sudo htpasswd -D /etc/apache2/.htpasswd user1
Deleting password for user user1





.htaccessファイルを使った認証方法


認証をかけたいディレクトリに .htaccess ファイルを置き、以下の内容を記述する。

AuthType Basic
AuthName "Please Enter Your ID and pass"
AuthUserFile /etc/apache2/.htpasswd
require valid-user


AuthType

認証方式を指定。 Basic認証の場合 Basic とする。

AuthName

認証画面に表示されるメッセージ。

AuthUserFile

作成したユーザー管理ファイルを指定。

require

アクセスを許可するユーザーやグループを指定。 valid-user の場合、ユーザー管理ファイルに含まれるすべてのユーザーを対象とする。


システムが .htaccess ファイルを見つけた時、このファイルの中で定義された設定を、既にこのディレクトリに対して定義されていた設定に対して上書きする必要がある。
これは apacheのディレクティブ設定で行う。

"/etc/apache2/sites-available/" に置いたconfファイルで設定する。
<Directory パス> 
  ~ 省略 ~
  AllowOverride AuthConfig ← None を変更する
  ~ 省略 ~
</Directory>

  • None :上書きを禁止
  • AuthConfig :認証に関する変更を許可
  • All :すべての設定の変更を許可


設定後、apacheを再起動する。

.htaccess ファイルを置いたディレクトリにアクセスする。
apache_basic01.png
設定した通り認証を求められるので、登録したユーザーとパスワードを入力すればいい。






confファイルで設定する方法


"/etc/apache2/sites-available/" に置いたapacheのディレクティブ設定で行う。

記述する内容は、.htaccess ファイル内に記述したものとほぼ同じ。
<Directory 認証を設定するディレクトリパス>
  AuthType Basic
  AuthName "Please Enter Your ID and pass"
  AuthUserFile /etc/apache2/.htpasswd
  require valid-user
</Directory>


設定後、apacheを再起動すれば、認証を設定するディレクトリに認証がかけられている。




まとめ


apache では .htaccessファイルの使用を推奨していません。
apacheでは認証用のディレクティブを書く方法が推奨され、.htaccess ファイルはサーバの設定ファイルを変更できない場合に使用すべきとしている。

理由としては、apacheが各ディレクトリで.htaccessファイルを探し、設定を書き換えるためサーバに余計な負荷をかけるというパフォーマンス上の問題や、.htaccessファイルは一般ユーザーが設置、編集できるのでセキュリティ上の問題があるため。
これらのことを理解したうえで、Basic認証を使い分けながら使用していく。


Ubuntu サーバの設定 Webサーバー
posted by Zorinos at 20:00| Comment(0) | Linux | 更新情報をチェックする

2017年09月02日

Twitter APIを使うための備忘録

Twitter APIを利用するには、Twitterのユーザーアカウントが必要。
アカウントにログインした状態だとして話を進める。

アプリケーションを登録する手順


Twitter Developersにアクセスする


https://dev.twitter.com/
twitterapi01.jpg

ページ下部にある「Manage my Apps」をクリック。
twitterapi02.jpg

「Twitter Apps」という「アプリケーションの管理画面」に移動できる。
よく使うページになるので、ブックマークしておくとよい。
twitterapi03.jpg
既に登録しているアプリがある場合はリストで表示される。
新規の場合は上図のように、「You don't currently have any Twitter Apps.」と表示される。



新規にアプリケーションを登録する


[Create New App] をクリック
twitterapi04.jpg
アプリケーション情報を登録する。
twitterapi05.jpg

Name

アプリケーションの名称。

Description

アプリケーションの概要。

Description

アプリケーションのウェブサイトのURLアドレス。仮のアドレスでもいい。

Callback URL

ユーザーがOAuth認証作業をした後の、戻り先となるURLアドレス。認証が必要ないアプリケーションの場合は空でいい。後からでも設定できる。

Developer Agreement

APIの利用規約。「Yes, I have read and agree to the Twitter Developer Agreement.」にチェック。

[Create your Twitter application] をクリック。
twitterapi06.jpg
※電話番号を登録していないとエラーが起こる。
twitterapi07.jpg

アプリケーションが作成され、管理する画面へ遷移する。
twitterapi08.jpg


最初の管理画面に戻ると、
作成したアプリケーションが追加されている。
これをクリックすると、先ほどのアプリケーションの管理画面に遷移できる。
twitterapi09.jpg




APIキー


APIキーの確認


アプリケーションの管理画面から、
[Keys and Access Tokens]のタブをクリック。
twitterapi10.jpg

「Consumer Key (API Key)」と「Consumer Secret (API Secret)」をメモしておく。
アプリケーションに振られるIDとPASSのようなもの。
twitterapi11.jpg







APIキーの変更


もしAPIキーの情報が他人に知られてた、もしく知られた可能性がある場合は、
[Regenerate Consumer Key and Secret] から変更することができる。
twitterapi12.jpg




パーミッションの設定


アプリケーションの管理画面から、
[Permissions]のタブをクリック。
twitterapi13.jpg

3つの設定の中から1つを選択する。
Read onlyRead and WriteRead, Write and Access direct messages
ユーザーのツイートを見る
ホームタイムラインを見る
プロフィールを見る
プロフィールを更新する×
ツイートを投稿する×
フォローする×
ダイレクトメッセージを読む
・送信する
××

(参考:Application Permission Model

変更したら、
[Update Settings] をクリックして更新する。
twitterapi14.jpg

[Additional Permissions] では
ユーザのEmailアドレスのリクエストができるようになっている。
いろいろとめんどくさい気がするのであまりよく知ろうとしていない。
GET account/verify_credentials





Access Tokenを取得


アクセストークンは、アプリケーションでユーザーの代わりに操作するために、ユーザーのアカウント情報(IDとパスワード)を暗号化してまとめたもの。
アクセストークンを取得するためには、ユーザーによる認証作業が必要となるが、自分自身のアクセストークンであれば、そんな手間をかけず、アプリケーションの管理画面から直接発行することが可能。

アプリケーションの管理画面から
[Keys and Access Tokens]のタブをクリックして移動。
ページ下部にある [Create my access token] をクリック。
twitterapi15.jpg

「Your Access Token」の箇所に情報が追加され、
「Access Token」と「Access Token Secret」が取得できる。
twitterapi16.jpg

アクセストークンを取得した後でパーミッションを変更したら、
アクセストークンを作り直す。
[Regenerate My Access Token and Token Secret] をクリックし、再度、取得する。
ラベル:twitter OAuth TOKEN
posted by Zorinos at 20:00| Comment(0) | ツール | 更新情報をチェックする
ブログランキング・にほんブログ村へ