続・jquery.neosmart.fb.wall を導入しました
この記事は2015年4月16日に書かれたものです。情報が古い可能性がありますのでご注意ください。
昨日導入した、jquery.neosmart.fb.wall ですが、2点ほど問題がありました。その1つはセキュリティ上の問題でもあります。
1つ目は、25人を超える「いいね!」がある投稿に対して、「いいね!」数が25までしか表示されないことです。これは、Graph API がデフォルトで25しか「いいね!」した人を表示しないのが原因とのことで、jquery.neosmart.fb.wall.js の61行目を、
url: graphURL+o.id+'/'+type+'?limit='+o.max+'&likes.limit=200&access_token='+o.accessToken',
のように、likes.limit=いいね!の上限数 というパラメータを追加することで解決しました。(参考:永遠少年症候群 | fb.wallメモ最終版)
2つ目は、Facebook のアクセストークンを取得してこのスクリプトに設定するのですが、このアクセストークンを HTML か JavaScript に記述するため、誰にでもアクセストークンが見えてしまうこと。アクセストークンがあれば Facebook ページの非公開にしている情報までもが取得できてしまいます。
開発を終了した fb.wall のサイトにも「安全な方法でアクセストークンを提供することができなかった」といった内容の記述があります。これが開発終了の理由なんですね。
Since 2010 Facebook changed their Graph API a lot of times, they added server request limits and the need of access tokens. With a pure JavaScript solution it was not possible to provide access tokens in a safe way. Therefore we developed neosmart STREAM.