2011年6月9日木曜日

RE: Togetter は Twitter API の利用規約を遵守してほしい

Togetter は Twitter API の利用規約を遵守してほしい
TwitterのユーザーはAPI経由でツイートを再利用されることに同意していますが、そのAPIには利用規約があります。そのひとつが「ユーザーが削除したツイートはAPIを利用したサービスの方でも削除されなければならない」というもの。ならば、本来は削除すべきツイートを表示し続けるのは、無断転載に他なりません。

わざと書いてるのかどうかは分からないけど、いくつか感想を。

Twitter API利用規約からの抜粋で、
I.4.A. Exporting Twitter Content to a datastore as a service or other cloud based service, however, is not permitted.
を転載しててこれだけ読むとTweetをDBやファイルに保存することも許されてないように読めるが、実は元の文は、
You may export or extract non-programmatic, GUI-driven Twitter Content
as a PDF or spreadsheet by using "save as" or similar functionality.
Exporting Twitter Content to a datastore as a service or other cloud
based service, however, is not permitted.
となっている。(API Terms of Service | dev.twitter.com
分かっていて誤読を誘うように切り取ったのかな?

そもそもTweetを外部のサーバに保存できないのでは毎回API経由で取りに行かなくてはならなくなりTwitter側が大変なことになるし現実的にTwitter側はそんなこと望まないでしょう。


Togetter側には削除機能があるみたいだけどおそらくログインが必要なのではないだろうか。
もう一歩踏み込めば、ログインしなくても「Tweetが削除または非公開になっていたらTogetter側からも削除する」というボタンなり申請フォームなりを実装すればユーザビリティは上がるのではないだろうか。

魚拓的に使いたいなら、Togetterじゃなくてもいくらでもあるんだし。

2 件のコメント:

deztec さんのコメント...

いや、毎回APIに取りに行きなさい、ということだと私は理解しています。そうでないと、利用規約の後半にある「ユーザーが非公開にしたものは公開するな」といった意味の規約を守るのは不可能だと思いますよ。私の問い合わせへの返答によれば、ユーザーが後から削除や非公開にした場合にも追従しなければならないということなので。だから、「ログ取り」をして、ユーザーが削除したツイートも保存したいなら、各ユーザーの許可を取らねばならないはずです。

postoro さんのコメント...

deztecさん、コメントありがとうございます。


> そうでないと、利用規約の後半にある「ユーザーが非公開にしたものは公開するな」といった意味の規約を守るのは不可能だと思いますよ。

これは、Twitter API利用規約( https://dev.twitter.com/terms/api-terms )のII. 4. B.の "For example, your Service should execute the unfavorite and delete actions by removing all relevant messaging and Twitter Content, not by publicly displaying to other end users that the Tweet was unfavorited or deleted."のことでしょうか?
拙訳では「例えば、unfavと削除する場合には、他のユーザー対してにunfavされたまたは削除されたことを公然と示すというやり方ではなく、関係する全てのメッセージとTweetを削除するというやり方をしなければならない」と読めました。つまりAPI経由でunfavや削除をするケースに付いての例かと。とすると、公開状態から非公開状態に変更したケースではないかと思います。
(間違ってたらすみません。英語は難しいです...)


> 私の問い合わせへの返答によれば、ユーザーが後から削除や非公開にした場合にも追従しなければならないということなので。

「Twitterサポート#1829415」は現在参照できないようです。(以前は参照できた記憶があるのですが。)
でもまあ、そういう返答なら、たしかに毎回APIで取りに行くのが王道なんでしょうね。
あるいは、妥協案として、1日(または1時間、1週間)等のキャッシュ期限を設けて、それを過ぎた場合はAPIから再取得して更新するとか。Togetterくらいの大きさ(総Tweet数の多さ)になるとそれでも難しそうですね。
Togetterからの回答として「将来的には削除済みツイートの自動削除を実施したいと考えている。」とのことですが、どうやって実装するのか興味深いです。(Firehoseを契約?)

ブログ アーカイブ

カテゴリー