SNS担当ミーティング その3

SNS担当ミーティング その3

シーブレインのSNS担当として、普段はSNSに無関心な kouraku と、いつも実装に悩まされている fujihara が、半期目標達成のため急遽第3回SNS担当ミーティングを開きました。ということで、その様子を今回もかる~くご紹介します。




それでは、第3回SNSMTG始めまーす。

はい。

とりあえず、今回は前回の宿題「ネタを探す」、ということですが・・・ネタは見つけました?

えーっと、まぁネガティブな話ですが・・・

ネガティブな話・・・?

APIで欲しい情報を取って表示する、ということをJSだけで行うことは現実的ではないので、そうなるとPHPなどサーバーサイド・スクリプトを使うことになるのですが・・・

ん、PHPを使えばAPIキーを使わなくていける・・・?そんなことはないか。

はい、そういうことではなく、JSだとAPIを使用するための access_token が見られてしまうので、ちょっと問題あるかな・・・と。

あぁ、なるほど。

結局、access_token ごとに制限があって、開発モードの場合はその制限が浅いんですよね。

アクセスしていい回数が決まってる、ってことだね。

はい、一定時間の範囲内ではあるのですが。

有料版とかあった場合、それを使えば解決するとか?

有料版でも厳しいみたいです。だから、PHPなどで一定時間ごとにDBなどに保存して、JSはDBの内容を見せるようにする、といった様な仕組みが必要になるのではないかな・・・と。

それって、あれか・・・。以前4人同時に同じサイトを制作していた時に、「Instagram」の画像表示が急にされなくなった、っていう件だね。レビュー環境だったから問題にはならなかったけど。

そうです。

一定時間内に同じ access_token で頻繁に情報取得を行ったのが原因だったっけ。

あの時は「Instagram」の「Sandbox mode」を使用していたので、特に落ちやすい環境でした。




「Instagram」の画像表示が急にされなくなったという状況は、つまり下図の様な状況です。

20160930_kouraku_01.png


なるほど、だから直接APIキーを叩いて情報を取得しに行くのではなく、PHPなりで保存されたデータを見に行かせることで「落ちる」という危険を回避したい、ということか。

はい、そうです。

じゃあ、例えば「Instagram」に更新が入った場合って・・・どうなるの?更新が入ったことを検知して保存されているデータを更新する・・・???

いえ、そういうリアルタイム的なものを作るのではなく、一定時間ごとに、1分ごとでも良いと思うんですが、更新するような仕組みを作ればいいと思うんです。

そうか、1分毎でも1時間に60回のアクセスだから、さすがに「落ちる」ことはない・・・のかな?

はい。

その場合、access_token はどこに入れておけばいいのかな?

一般ユーザーがアクセスできない場所に、設定ファイルを置いとけば良いと思います。




20160930_kouraku_02.png

上図のとおり、PHPなりで作成したデータを見るだけなら、APIキーで取得するような機能が落ちることはないでしょう。たとえ落ちたとしても、表面上は落ちたようには見えないはずです。




でも、DBとかはあまり使いたくないじゃないですか。そういった場合は、JSONなんかを吐き出して置いておけばいいのかな・・・と。

なるほど、それはいいね。

ただ、「Instagram」の画像表示系なら問題ないのですが、「いいね」とか「フォロー」の数を表示させるようなものの場合どうするか・・・ですね。

・・・ん?どういうこと?

例えば、だれかが「いいね」を押した時に、カウントアップするじゃないですか。その時「1増えた」という状況をどうするか、ということです。

そうか、さっきの方法だと、1分毎に更新だから即時に数字が反映されない、ってことか。

はい、そうです。だから、ブラウザ上のみ「1増えた」という状況を作れば良いか・・・と考えていたのですが、特に即時反映されなくても問題ない気がしてきました。

そうだね〜。即時でなくてもいい気がするな。30秒に1回取得しに行く・・・とかだと厳しいのかな。1時間に120回のアクセス・・・。

「Instagram」の「Sandbox mode」だと、1時間で500アクセスが制限内なので、問題ありませんね。

なるほど、てことは、10秒ごとに1回でも360回だからいけるんだね。・・・5秒はオーバーしちゃうか。

はい、そういうことになりますね。




この後、PHPとかサーバーサイド・スクリプトが使えない環境の場合どうしよう・・・とか、ちょっとだらだら話す感じになりまして、最終的に次のような展開でまとまりました。




ただ、ここまで話してきた内容って、まだ(できるという)確証が取れていないんですよね。

え?そうなの?

はい。

・・・なるほど。そしたら、検証して間違いないことを確認する、というのを次回MTGまでの宿題としましょう。

はい。




今回のMTGで、今期目標への道筋がなんとなく見えたような気がしてきました。
ということで、次回MTGでは fujihara の検証結果をご報告できればと思います。

  • このエントリーをはてなブックマークに追加

この記事を読んだ人にオススメ