F.Ko-Jiの「一秒後は未来」

FlickrとOAuth 1.0aで連携するWebアプリにwriteやdelete権限を与える方法

Flickr と OAuth 認証で連携する Web アプリをつくる場合、アプリケーションに write や delete の権限を与えるには Authorization 時の URL に perms= というパラメータをつけないといけません。

ドキュメントに書いてはいるけど名前がscopeじゃないので見つけづらい。

Additionally, you can pass the optional perms= parameter, asking for read, write, or delete privileges. This parameter will override the setting defined in your application’s authentication flow.

もしスマートフォン向けアプリであれば、Flickr のアプリケーション設定画面にある「App Type」で「Mobile Application」を選択すれば、「Mobile Permissions」という項目があらわれるので、そこから設定できます。わざわざ perms をつける必要はなし。

flickr-oauth-web-permissions-1.jpg

↑ モバイル向けならここでPermissionを指定できる。

しかし「Web Application」を選択すると、指定できる項目は「Callback URL」しかなく、ここからPermissionが指定できません。

flickr-oauth-web-permissions-2.jpg

↑ WebアプリだとPermissionが指定できない。

このまま OAuth の認証フローを実行すると、Webアプリケーションには Read 権限しか与えられないため、アプリケーション側から写真を投稿することができないということに。

flickr-oauth-web-permissions-3.jpg

↑ このように「Showing」しか許可されていない。

しかし、最初に書いたようにこの画面で perms=write というパラメータがつくようにすれば、写真の投稿や編集などができる権限をアプリケーションに与えることができます。

flickr-oauth-web-permissions-4.jpg

↑ このように「Upload」や「Edit」などの許可を要求することができる。

Flickr がいつの間にか API の認証に OAuth 1.0a を採用している…と思ったら昨年6月から提供されていました。(8月に実装したときにはドキュメントに見当たらなかったのに…)

以前の Authentication API はいずれ廃止される可能性があるので、まだ OAuth で実装していない場合は OAuth への移行を検討しておいたほうがいいかもです。

※ ただ、OAuth 1.0aのサポートを発表したブログ記事では early 2012 で使えなくなるとあるけど、まだ使えている。

※ 同記事で OAuth 2.0 をサポートする予定もあると言っている。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

著者について

fkoji

F.Ko-Ji

Webエンジニアやってます。最近は ドットインストール の開発がお仕事です。その傍ら、個人で Meity電車遅延なう梅酒.in#グラドル自画撮り部 の部室といったネットサービスを開発・運営してます。梅酒と草野球とリアル脱出ゲームが好きです。

» 詳しいプロフィールや運営サービスの一覧など