Facebook - 6月変更でコメント数が表示されなくなった!?

iOS版Facebook SDKに関するメモとなっております。
Facebook API Change

iOSネイティブで開発したFacebook アプリの表示画面が前にメンテナンスしたときと違和感があると思ってよく見てみると、フィード(Linkやイベント、写真などの投稿記事)に表示されているはずのライク数、コメント数、シェア数のうち、コメント数が表示されていませんでした。

これはいけないと調べてみたところ、2013/6/10 付けでAPIの変更が反映されたことに気づいたのでした。
comment count
修正概要についてはFacebook Developer Center のロードマップとして記述されていました。

■Developer Roadmap (要Facebook 開発者でログイン)
https://developers.facebook.com/roadmap/
文中のJuly 10, 2013 の内容。

各種変更のうち、iOS アプリ開発者にとって影響があると思ったのは、

1) 写真投稿で、サイズの大きい写真を投稿できるのはそう長くない
2) 取得するフィールドをしている場合、フィルター内に間違ったものが合った場合は例外を返す様になる
3) フィードのコメントの概要情報は別途APIで取得してね

の2点。1は写真サイズを考慮して投稿しないとFacebookから例外が返ってくるようになる筈です。2 はいままで動いていたものが動かなくなるという点で危険なうえ、何でそうなったかを知るには上記API変更の情報を熟読しておく必要があります。

今回問題となったコメント数ですが、以下のGraphPath を呼び出す事で取得できます。

[オブジェクトID]/comments?summary=true

オブジェクトID はフィード等Facebook のIDなら何でも利用できる筈です。コメントは最新25件(2013/6現在)以上の読み込みが有る場合は追記読み込みのURL をフィードに用意してくれており(paging/next)、追記読み込みの有無でコメント概要のAPIを呼び出しの判断に使うのも良いかもしれません。

以下、2013/6/10 のAPI変更の日本語約メモです。内容については私が誤解しているかもしれないので参考までとして下さい。

New APIs for comment replies
新APIでコメントのリプライが変更。

Social plugins will require an absolute URL in the 'href' parameter
ソーシャルプラグインは絶対パスを要求する。

Stream table will throw exception with invalid filter_key
ソーシャルストリームは無効なフィルターキーを渡すと例外を返す、

Removing 'publish_checkins' permissions
チェックイン・パブリッシュ許可は削除。

FQL Checkin table 'page_id' change
FQLのpage_id はtarget_id に変更。

Removing 'version' field for Groups
グループのバージョンフィールドは除外。

Photos will no longer return larger sizes than the uploaded version
写真投稿は大きいサイズの写真を投稿できるのはそう長くはない。

Deprecating 'comments' field from 'stream' FQL table
ソーシャルストリームの、コメントフィールドからいくつかのフィールドをサポートしなくなる。

Removing 'xid', 'reply_xid', 'username' and 'comments' from 'comment' FQL table
We are removing the fields on the FQL 'comment' table that were used exclusively for legacy Comments Plugins -- 'xid', 'reply_xid', 'username' and 'comments'. We now treat comments the same across plugins and within Facebook. Please query for comment replies left on the plugin the same way as you would for other comments.
FQL のcomment から'xid', 'reply_xid', 'username' and 'comments' フィールドを除外。

Removing 'count' from 'comments' Graph API connection
Graph API からcomments のcount 属性は削除

Mobile App Install Ads change
モバイルアプリケーションインストール広告を変更。

Conversion spec and tracking pixel ID changes
トラッキング用pixel IDの使用を変更。

Custom Audiences change
カスタムオーディエンスの変更

Accessing link stats change
Link へのアクセスには、アクセストークンが必要

Graph API search changes
Graph API 検索へのアクセスには、アクセストークンが必要

Open Graph apps using custom actions for fitness, books, movies, and TV
As announced in March, any apps that previously used custom actions to represent this type of sharing will need to move common actions by July 10, 2013.
運動、本、ムービー、テレビはカスタムアクションへ移行するように。

Removing 'page_friends_of_fans' metric
We are removing the metric: 'page_friends_of_fans' from the Insights Dashboard and the Insights API.