QUOIT Blog

InstagramのAPIがあんまり大丈夫じゃなさそうだ

この記事は6年以上前の記事です。情報が古い場合がありますのでお気を付け下さい。

先日、かちびと.netシロさんがFacebookでこんな発言をされているのを見て、思わずなんで?と聞いてしまいました。

InstagramのAPIって叩かれないもんなのね・・・僕が神経質なのかな

聞いてみたらとてもなるほどー!と思ったので、メモ的に記録しておきます。
ご本人の許可は頂いておりますよ。

Instagramの現在

まずそもそもこのサービスを知らない人はググってみたらいいと思います。

InstagramのAPIは、今回の公開以前から非公開APIによるデータへのアクセスは可能だったようですね

ようやく先日公開になったものの、現在はprivate beta版(許可制)となっており、運営に申請を出さないと利用できません。

まぁまだ発展途上である、ということは前提としてあると思います。

なんで気持ち悪いのか

シロさんの発言をお借りしつつ、考えてみます。

気持ち悪いというか・・ユーザーはどこかで自分の写真が公開されてるとは思わないだろうし、Flickrみたいに著作権を決められる仕様も無いからフィルターどうすんのかなみたいな気持ち悪さかなぁ。

つまり、公開当初に前提とされていなかったAPIが公開となるにあたり、著作権の設定など、本来必要な設定がユーザ側に提供されていない、ということが問題なのですね。

ということは、自分が知らないところで自分の写真が公開される可能性もあるわけです。

すでにこんなの出てるし。
【Instagram の popular から顔写真を抽出したinstagram face】
http://instagramfaces.tumblr.com/
これ、写真撮ってる人は晒されてるの知らないでしょ。


<追記:2011/02/28 12:06>
※上記サービスは非公開APIを使って組まれているようです。シロさんありがとう!

つまりこういうことですよね。っていうか仕事早すぎだろ。

TwitpicなどもAPIを公開していますが、これに関しては「Twitterのサードパーティだから」という理由で、暗黙的に用途を示唆していたという特殊な状況にあったのかもしれません。

これ、何かに似てるなーと思ったら、先日mixiで問題になったメールアドレス検索の件に似てるな、と。

開始当初に予定されていなかった機能が公開されるに当たって、ユーザ側に必要な説明がなされておらず、ユーザの権利を侵害する可能性が出てくる。

今回であれば、「デフォルトではAPIでの取得が出来ない→許可したら写真単位でOK」という流れであれば問題にはならないはずですが、その説明は一切ありませんよね。

大丈夫なんでしょうか。っていうかあんまり大丈夫じゃないと思っているからこんな記事書くわけですが。

未確認だけど果てしなく不安なこと

ここからは邪推です。

InstagramのAPIドキュメントに目を通してみたところ、一つの不安が頭をよぎりました。

下記は、Instagramに写真データを要求したときに返ってくる値の例です。

{
    "data": {
        "type": "image",
        "filter": "Walden",
        "tags": [],
        "comments": {
            "data": [{
                "created_time": "1279332030",
                "text": "Love the sign here",
                "from": {
                    "username": "mikeyk",
                    "full_name": "Mikey Krieger",
                    "id": "4",
                    "profile_picture": "http://distillery.s3.amazonaws.com/profiles/profile_1242695_75sq_1293915800.jpg"
                },
                "id": "8"
            },
            {
                "created_time": "1279341004",
                "text": "Chilako taco",
                "from": {
                    "username": "kevin",
                    "full_name": "Kevin S",
                    "id": "3",
                    "profile_picture": "..."
                },
                "id": "3"
            }],
            "count": 2
        },
        "caption": null,
        "likes": {
            "count": 1,
            "data": [{
                "username": "mikeyk",
                "full_name": "Mikeyk",
                "id": "4",
                "profile_picture": "..."
            }]
        },
        "link": "http://instagr.am/p/D/",
        "user": {
            "username": "kevin",
            "full_name": "Kevin S",
            "profile_picture": "...",
            "id": "3"
        },
        "created_time": "1279340983",
        "images": {
            "low_resolution": {
                "url": "http://distillery.s3.amazonaws.com/media/2010/07/16/4de37e03aa4b4372843a7eb33fa41cad_6.jpg",
                "width": 306,
                "height": 306
            },
            "thumbnail": {
                "url": "http://distillery.s3.amazonaws.com/media/2010/07/16/4de37e03aa4b4372843a7eb33fa41cad_5.jpg",
                "width": 150,
                "height": 150
            },
            "standard_resolution": {
                "url": "http://distillery.s3.amazonaws.com/media/2010/07/16/4de37e03aa4b4372843a7eb33fa41cad_7.jpg",
                "width": 612,
                "height": 612
            }
        },
        "id": "3",
        "location": null
    }
}

あれ?Instagramって鍵付きに出来たけど、そのデータって返ってこないのかしら?

ユーザのデータに入ってるのかなーと思ってそちらも確認しましたが、それっぽいデータは返ってきませんでした

いや、鍵付きのユーザのデータにはAPIでアクセスすら出来ない、っていうなら納得なんですけど、果たしてどうなんでしょうかねえ?

まぁ、僕はサービス開始当初のパスワード平文送信問題で嫌になって使わなくなっちゃいましたけどね。

<追記:2011/02/28 15:00>

ちょっと文章の書き方がまずくて話が分散しちゃったので、少々追記します。

まず、現状でもInstasramに投稿すれば、パーマリンクが生成され、Webで閲覧することが可能になります。
この時点でHTMLパースなどをすれば写真のデータを取得することは出来ますが、Instagramの「公式」として、これを認めているわけではありません。
これは「本来と違う使い方」ですね。技術的に可能かどうか、はとりあえず置いておいてください。

しかし、APIの公開はサービスの「公式」として提供されるものです。

API利用サービスの開発者は、公式からのお墨付きであるAPIを使って、Instagramのデータを利用できるにも関わらず、その利用方法や目的について、取り決めが無い。

ちなみに、Twitterならその問題は解決されているかというと、そうではありません。

Togetterにまとめられるのを嫌う方がいらっしゃいますね。
「つぶやきの所有権」についても、至る所で活発に議論されています。

上記の「Instagramから顔を集めたサービス」に許可なく写真を掲載されるのと、Togetterに許可なくつぶやきをまとめられるのは似ているなと思います。

(と、ここまで書いて、この所有権についての個々人の認識の違いで、このAPIが気持ち悪く感じるかどうかが随分変わるな、と思いました。)

利用者として自己防衛を考えるなら、どっちにしたってWeb上に公開されているデータなんですから、世界中に発信しているという意識を持っておくこと。それが怖ければWeb上に掲載なんてしないこと。

ただ、サービス提供者として、Instagramはどういう態度なのかな、と思うのです。
(先日のFacebookの件といい、最近こんなことばっか言ってますけど)

サービスを提供するだけしておいて、そこで発生する問題については放置、ってのはどうも納得いかない今日この頃です。

<追記:2011/02/28 15:40>

ちょっとTwitterで衝撃的な記事を見たのでご紹介。

fladdict » instagramに投稿した写真は規約上、大分権利放棄になるっぽい。

この記事を見て、ちょっとInstagramの態度がわかりました。

いいサービスかもしれないけど、僕は今後も使わないだろうな…

2 comments for “InstagramのAPIがあんまり大丈夫じゃなさそうだ

  1. YAT
    2011年3月1日 at 12:23 PM

    どもです、YATのBLOGのYATです。
    正直僕はこのサービスもAPIも利用していないので深いことを言うつもりはないんですけど、一つこの記事を読んで自分が再確認したことを。

    ここ数年API公開で技術者のかたが様々なデータを比較的簡単に取り扱えるようになった分、クライアントの要望に答えられる枠が広がったように思えます。

    でも、あまりに短絡的すぎて今回の記事のようなユーザーへの配慮もちょっと軽率になってないかな?っていうのを考えさせられました。

    簡単に出来る事こそ、慎重に調べるべき事なんですよね。
    クライアントのやりたい事を叶えることがお互いの幸せかもしれないですが、もう一歩踏み込んで、それを使うエンドユーザーにも安全か?は常に頭に入れないと足元をすくわれてしまいますね。

    良記事有難う御座います^^