Author Archives: Kenta ONISHI - Page 12

Graph API v2.1 で「いいね」をしないと進めないページが終了だという件

(8/13、続報を追記。)

日本時間 5 月 1 日の Facebook f8 2014 は相当インパクトが大きかったが、ここで発表された Graph API v2.0 に続き、8 月 8 日に v2.1 が発表された。正直、v2.1 が来るのは来年くらいだと思っていた……

変更点の概要はこちら。機能面で大きな変更といえば、FQL が使えなくなったことだろうか。個人的には FQL でフリガナを取ったりしていたが、これは Graph API では未だに取得できないのでここが困ったところではある。
なお、FQL で友達総数を取っていたパターンもあるかと思うが、/me/friends で友達総数が返るようになったので、これを使えば同じように取得可能となる。

今回の v2.1 にともなう変更点で一番大きいのは、なんといっても Platform Policies の変更だろう。

変更点は 2 箇所で、ざっくりと以下の内容になる。

  • アプリ内課金がある場合は、Facebook 内または App Store などのプラットフォーム上で必ずアプリ内課金があることを明示する必要があること。
  • Facebook ページへの「いいね」や各種ソーシャルプラグインの利用に対してリワードを出すなどのインセンティブが、ファンゲートも含めて明確に禁止になった。ただし、ソーシャルログインや場所へのチェックイン、Facebook ページ内プロモーションへの応募に対してインセンティブをつけるのはok。

Read more »

【診断系アプリ死亡のお知らせ】Facebook Loginでパーミッション取得にレビューが必要になった件

(5/1 19:35) チラ裏風味だったのでちょっと構成を変えてみた。
(5/2 9:40)友達一覧→そのアプリを使っている友達一覧

f8 で発表されたFacebook ログインの仕様変更匿名ログインにフォーカスされているような感じもあるが、主な変更点は以下となる。

  • これまでは Facebook ログイン時に Facebook アプリ側が取得する情報が一覧表示されるだけだったが、ここでどの情報を提供するかをエンドユーザが選択できるようになる。Facebook への投稿権限の確認画面のデザインも変更。
  • 公開プロフィール、メールアドレス、そのアプリを使っている友達一覧を超えた個人情報の取得やシェアなどの投稿権限をログインで取得する場合は、Facebookのレビューが必要になる。
  • Facebook に登録された個人情報を Facebook アプリに引き渡さない匿名ログインの実装。
  • Graph API 2.0 リリース。
    • Facebook アプリ経由で取得できる Facebook ユーザの Facebook ID が実際の ID ではなくアプリ内で一意になる別の ID となる。(= 複数の Facebook アプリ間で名寄せできなくなる)
    • ユーザの友達のソーシャルアクティビティを取得する API。
    • Facebook の友人を招待する API。ただし、キャンバスページに描画するゲームに限定。

影響範囲

アプリケーション実装の面からすると Facebook 側のレビューが入るという意味で割とハードルが上がっていて、診断系アプリのようなファンシーなアプリで人を集めておき、とりあえずアプリに不要な個人情報をごっそりぶっこ抜くといったことが恐らくできなくなる。

レビューについて具体的には、今後作成する Facebook アプリで公開プロフィール、メールアドレス、そのアプリを使っている友達一覧以外の個人情報を取得したりシェアさせたりする場合、Facebook 側に申請してレビューを通して初めてパーミッションを取得できるようになる。パーミッションがない場合、

レビューがない場合のログインダイアログ

こんな感じで警告が表示され、スコープ取得が無効となる。

ここのところ、ソーシャルデータの活用など Facebook 側の個人情報のビジネスへの活用の模索と、Facebook ログイン時に取得される個人情報の用途が不明瞭であるとの 2 つの面で話題になることがあったが、それに対する Facebook 側の回答がこれということだろう。

Read more »

Facebook Night vol.15に行ってきた

 業務でFacebookを触っていることもあって、ちょこちょこイベントなどに行っていたりするのだが、今回は Facebook Night vol.15 に行ってきた。今までは割と開発者の集まり的な雰囲気のあった Facebook Night だが、5 ヶ月の休止期間をおいて再開した FB Night はどちらかといえばマーケッター寄りになっていた気がしないでもない。

Growthチームの位置づけ
Read more »

スクウェア・エニックスを騙るフィッシングspamが届いた件

 うちのメールサーバは若干厳し目にanti spam設定しているのだが、珍しくフィッシング系の spam が届いていた。

Return-Path: <autoinfo_jp@account.square-enix.com>
X-Original-To: xxx@xxxx.jp
Delivered-To: xxx@xxxx.jp
Received-SPF: spf-unknown
Received: from rcdchq.net (mail.highartland.com [211.155.129.5])
     by ulysses.dameningen.jp (Postfix) with ESMTP id 7EB863007EE
     for <xxx@xxxx.jp>; Tue, 7 May 2013 06:40:07 +0900 (JST)
Date: Tue, 7 May 2013 05:39:58 +0800
From: “autoinfo_jp” <autoinfo_jp@account.square-enix.com>
To: <xxx@xxxx.jp>
Subject: あなたのスクウェア・エニックスアカウントの異常
Message-ID: <20130507054010464027@account.square-enix.com>
X-Priority: 1 (Highest)
X-mailer: Foxmail 6, 13, 102, 15 [cn]

スクウェア・エニックスアカウント管理システム
あなたのスクウェア・エニックスアカウントの異常、ログインしてください:http://secure.square-enix.com/account/app/svc/Login.html?cont=account
商品やサービス側に関連するサポート情報
スクウェア・エニックスサポートセンター
http://secure.square-enix.com
※サイト、検索機能の様々な製品やサービスの利用
サポート情報は確認した。
スクウェア?エニックスサポートセンターのご意見やご要件、ご使用ください

 そもそも日本語が怪しいので、これを信じるヤツは相当情弱じゃないかというのが率直な感想。そして、未だに X-Mailer ヘッダで自己主張するパターンがあるのね……

Read more »

Operation Developer LoveのリリースでFacebookログインができなくなった件

(16:23)この問題はバグということで、既に解消しているらしい。

 以前、Twitterで古いエンドポイントが削除された件を書いたが、Facebookでも今日 2/6 で古いログインダイアログのエンドポイントが削除されたらしい。これにより、認証ダイアログにリダイレクトさせても以下のようにエラー表示になる。

Facebookログインに失敗
Read more »

Passenger+Rails3でセッションストアにmemcachedを使うとセッションが取り違えられる件

 Rails3 に限らずセッション情報の格納先に memcached を使うことは多いと思うが、Passenger + Rails3 でセッションストアに memcached を使うとセッションが切れたり他のユーザのセッションにすりかわったりする。実はPassenger のドキュメントにがっつり書かれている。

Because worker processes are created by forking from an ApplicationSpawner server, it will share all file descriptors that are opened by the ApplicationSpawner server. (This is part of the semantics of the Unix fork() system call. You might want to Google it if you’re not familiar with it.) A file descriptor is a handle which can be an opened file, an opened socket connection, a pipe, etc. If different worker processes write to such a file descriptor at the same time, then their write calls will be interleaved, which may potentially cause problems.

 何が問題かというと、memcached との接続を保持しているデスクリプタも fork() のタイミングで共有されてしまうこと。そのため、例えばほぼ同時に Passenger worker A と B から memcached にリクエストを送った場合、A 側のリクエストが若干早ければ memcached 側から送られた A 向けのレスポンスが A と B 双方で受け取ってしまい、本来は B には B 向けのレスポンスが行くはずが A のレスポンスとなってセッションの取り違いが発生してしまう。これの問題点は、エンドユーザからすると全く覚えのない別のユーザになってしまうことにある。

Read more »