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 をつける必要はなし。
↑ モバイル向けならここでPermissionを指定できる。
しかし「Web Application」を選択すると、指定できる項目は「Callback URL」しかなく、ここからPermissionが指定できません。
↑ WebアプリだとPermissionが指定できない。
このまま OAuth の認証フローを実行すると、Webアプリケーションには Read 権限しか与えられないため、アプリケーション側から写真を投稿することができないということに。
↑ このように「Showing」しか許可されていない。
しかし、最初に書いたようにこの画面で perms=write というパラメータがつくようにすれば、写真の投稿や編集などができる権限をアプリケーションに与えることができます。
↑ このように「Upload」や「Edit」などの許可を要求することができる。
Flickr がいつの間にか API の認証に OAuth 1.0a を採用している…と思ったら昨年6月から提供されていました。(8月に実装したときにはドキュメントに見当たらなかったのに…)
以前の Authentication API はいずれ廃止される可能性があるので、まだ OAuth で実装していない場合は OAuth への移行を検討しておいたほうがいいかもです。
※ ただ、OAuth 1.0aのサポートを発表したブログ記事では early 2012 で使えなくなるとあるけど、まだ使えている。
※ 同記事で OAuth 2.0 をサポートする予定もあると言っている。
コメントを残す