FB.Data.waitOn
とを置き換えるだけでは簡単ではありませんFB.Data.query
。
現在、FB.Data.query
関数呼び出しを使用して呼び出しを行い、ユーザーがアプリケーションの許可をFQL
受け入れたかどうかをエレガントにテストしていました。publish_stream
このような:
FB.api('/me', function(response) {
var user_id = response.id;
var query = FB.Data.query('select publish_stream from permissions where uid={0}', user_id);
query.wait(function(rows) {
if (rows[0].publish_stream == 1) {
//user has accepted our publish_stream permissions
} else {
//user has not accepted our publish_stream permissions
}
});
});
そのひどいFacebook開発者フォーラムをグーグルで検索した後。ここで別の投稿に出くわすまで、探していたものを見つけることができませんでした。新しいFacebook JavaScript SDKで拡張された権限を確認してください
その後、私は自分の解決策を思いつくことができました:
FB.api('/me/permissions', function(response) {
if (response && response.data) {
var permissions = response.data.shift();
//console.log(permissions);
if (!permissions || (!permissions.publish_stream) || (permissions.publish_stream == 0)) {
//user has not accepted our publish_stream permissions
} else {
//user has accepted our publish_stream permissions
}
}
});