ネットサービスとかGoogleとか豆知識とか。

Index > API > FlickrとOAuth 1.0aで連携するWebアプリにwriteやdelete権限を与える方法
API
2012年09月29日 16:59

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

  • このエントリーをはてなブックマークに追加
  • ... PV
スポンサード リンク

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 をサポートする予定もあると言っている。