「publish_actions」権限とタイムラインを持つユーザーに対してのみ、特定の機能を有効にしたいとします。ユーザーがタイムラインを有効にしたかどうかを検出するにはどうすればよいですか?Facebookのタイムラインがあるかどうかを確認するにはどうすればよいですか?
答えて
1)部分的な解決策は、ユーザーが「cover photos」という名前のアルバムを持っているかどうかを確認することです。タイムラインを有効にしたほとんどのユーザーがこのアルバムを持っているとは限りません!!
2)本当にユーザーのプロフィールのHTMLコンテンツを取得し、タイムラインがあるかどうかを確認することです!
現在、ユーザーがタイムラインを有効にしているかどうかを確認するAPI方法はありません。
"Add To Timeline (beta)" social plugin(publish_actions
をperms
とする)をFacebook JS-SDK Eventsと組み合わせて使用できます。イベントが発生し、ユーザーはあなたがpublish actionことができ、タイムラインがインストールされているものとしてマークをユーザに成功した場合connected
したら
は、auth.login
、auth.authResponseChange
および/またはauth.statusChange
イベントに登録し、イベントリスナーに渡されたresponse
のstatus
プロパティを確認してください。
しかし、これはいくつかの欠点を持っている:より良い彼らはタイムラインと権限付与の両方を持っていることを確認するためのソーシャルプラグイン「タイムラインに追加」以外のフローにpublish_actions
のユーザーを尋ねたりしないでください
- 。
- パスワード変更やFacebookのユーザー切り替えなどの他のユーザーの操作が可能なため、許可する権限をユーザーに付与する必要があります。
最終的に(近い将来)、誰のプロフィールもタイムラインにロールオーバーされるため、タイムライン対応のアプリを検出する信頼性の高い方法はありませんでした。
次の潜在的なソリューションは、追加のアクセス許可の要求を必要としません。隠しDIV内にFacebookのタイムラインプラグインコードを追加すると、FB Canvasの読み込み(またはWebページのxfbml)が完了し、その要素のCSSの高さがテストされるまで待つことができます。ユーザーにタイムラインがない場合は0pxになります。それ以外の場合は、250pxになります(これを含めたように)。 Facebookのアプリ内でのみ有効です(Facebookの中でWebページを統合していない):
ユーザーが0
に要素のスタイルの高さを設定することで、タイムラインを起動していない場合は、Facebookがあなたにこれを追加このプラグイン要素を隠しますアプリページ:あなたのJavaScriptで次に
<div id="timeline-hidden" style="display:none">
<div class="fb-add-to-timeline" data-show-faces="true"></div>
</div>
<div id="timeline-test"></div>
、(これはFYI、jQueryのを使用):
window.fbAsyncInit = function() {
FB.init({ ... }); // after your FB.init code
FB.Canvas.setDoneLoading(
function (result) {
var str_timeline;
var tlsrc = $("#timeline-hidden").find("iframe").first().css("height");
if("0px"==tlsrc)
str_timeline = '<h2 style="color:red">This user DOES NOT have timeline.<h2>';
else
str_timeline = "<h2>This user DOES have timeline.</h2>";
$("#timeline-test").html(str_timeline + ", timeline plugin css height:" + tlsrc + ", loadtime: " + result.time_delta_ms);
}
);
};
Web統合のために、以下のは、やや信頼性の低い潜在的なネットワークの待ち時間にあるが、概念は、いくつかの可能な解決策に変更することができます。FB.Canvas.setDoneLoadingはFBとの統合が含まれるウェブサイト上で呼び出されていないので
、上記のFB.Canvas.setDoneLoading関数を変更してxfbmlに登録します。アクションをレンダリングし、テストにタイムアウトを設定します。
window.fbAsyncInit = function(){ FB.init({}}); // FB.initコードの後
$(document).ready(function() {
FB.Event.subscribe('xfbml.render',
function() {
setTimeout(function(){
var str_timeline;
var tlsrc = $("#timeline-hidden").find("iframe").first().css("height");
if("0px"==tlsrc)
str_timeline = '<strong><span style="color:red">This user DOES NOT have timeline.</span></strong>';
else
str_timeline = "<strong>This user DOES have timeline.</strong>";
$("#timeline-test").html(str_timeline + ", timeline plugin css height:" + tlsrc);
}, 250);
}
);
});
};
私は$(ドキュメント).ready(関数(){...})にFB.Event.subscribe( 'xfbml.render'、を動かすというのが私のテストで発見した。ができますあなたのアプリがFacebookページに埋め込まれているときに待ち時間があります(読み込みに少し時間がかかります)。これをテストし始めたので、それ以上テストすることはできません。
- 1. ウィンドウがオフスクリーンであるかどうかを確認するにはどうすればよいですか?
- 2. URLが画像であるかどうかを確認するにはどうすればよいですか?
- 3. ファイルが空であるかどうかを確認するにはどうすればよいですか?
- 4. フォームがヘルプモードであるかどうかを確認するにはどうすればよいですか?
- 5. ジェネリックメソッドパラメータが値型であるかどうかを確認するにはどうすればよいですか?
- 6. TextFieldが整数であるかどうかを確認するにはどうすればよいですか?
- 7. Androidアプリにメモリリークがあるかどうかを確認するにはどうすればよいですか?
- 8. Android:アクティビティにオプションメニューがあるかどうかを確認するにはどうすればよいですか?
- 9. メモリリークがあるかどうかを確認するにはどうすればよいですか?
- 10. pdfページにブックマークがあるかどうかを確認するにはどうすればいいですか?
- 11. 要素にクリックハンドラがあるかどうかを確認するにはどうすればいいですか?
- 12. オープン・グラフ・アプリケーションが既にタイムラインにプログラムで追加されているかどうかを確認するにはどうすればよいですか?
- 13. ユーザーがindex.htmlにいるかどうかを確認するにはどうすればよいですか?
- 14. ポップアップページが開いているかどうかを確認するにはどうすればよいですか?
- 15. ネットパイプサービスがリッスンしているかどうかを確認するにはどうすればよいですか
- 16. Facebookの新しいタイムライン機能の認証を追加するにはどうすればよいですか?
- 17. jquery:ページにフォーカスがないかどうかを確認するにはどうすればよいですか?
- 18. 変数が存在するかどうかを確認するにはどうすればよいですか?
- 19. ファイルが存在するかどうかを確認するにはどうすればよいですか?
- 20. ルート「URL」が存在するかどうかを確認するにはどうすればよいですか?
- 21. ファイルが存在するかどうかを確認するにはどうすればよいですか?
- 22. リンクが訪問されたかどうかを確認するにはどうすればよいですか?
- 23. エラーが返されたかどうかを確認するにはどうすればよいですか?
- 24. データが新しいかどうかを確認するにはどうすればよいですか?
- 25. javascriptオブジェクトがイメージかキャンバスかどうかを確認するにはどうすればよいですか?
- 26. 機能が部分的かどうかを確認するにはどうすればよいですか?
- 27. ファイルが有効なExcelスプレッドシートかどうかを確認するにはどうすればよいですか?
- 28. お客様がGooglebotかどうかを確認するにはどうすればよいですか? ASP.net
- 29. scpが利用可能かどうかを確認するにはどうすればよいですか?
- 30. 変数が存在するかどうかを確認するにはどうすればいいですか?