「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. Scala - オブジェクトがスレッドセーフであるかどうかを確認するにはどうすればよいですか?
- 2. フォームがヘルプモードであるかどうかを確認するにはどうすればよいですか?
- 3. アンドロイドアプリがハイブリッドアプリであるかどうかを確認するにはどうすればよいですか?
- 4. Java - シーンがフルスクリーンモードであるかどうかを確認するにはどうすればよいですか?
- 5. ジェネリックメソッドパラメータが値型であるかどうかを確認するにはどうすればよいですか?
- 6. オブジェクトがコレクションであるかどうかを確認するにはどうすればよいですか? (スウィフト)
- 7. ウィンドウがオフスクリーンであるかどうかを確認するにはどうすればよいですか?
- 8. ファイルが空であるかどうかを確認するにはどうすればよいですか?
- 9. URLが画像であるかどうかを確認するにはどうすればよいですか?
- 10. TextFieldが整数であるかどうかを確認するにはどうすればよいですか?
- 11. オブジェクトが「空」であるかどうかを確認するにはどうすればよいですか?
- 12. テキストエリアが空であるかどうかを確認するにはどうすればよいですか?
- 13. コンピュータにWiFiアダプタがあるかどうかを確認するにはどうすればよいですか?
- 14. Android:アクティビティにオプションメニューがあるかどうかを確認するにはどうすればよいですか?
- 15. アプリがバックグラウンドにあるかどうかを確認するにはどうすればよいですか?
- 16. EditTextに値があるかどうかを確認するにはどうすればよいですか?
- 17. Androidアプリにメモリリークがあるかどうかを確認するにはどうすればよいですか?
- 18. メモリリークがあるかどうかを確認するにはどうすればよいですか?
- 19. pdfページにブックマークがあるかどうかを確認するにはどうすればいいですか?
- 20. 要素にクリックハンドラがあるかどうかを確認するにはどうすればいいですか?
- 21. ページ上にアイコンがあるかどうかを確認するにはどうすればいいですか?
- 22. WPF、カーソルにファイルがあるかどうかを確認するにはどうすればいいですか?
- 23. オープン・グラフ・アプリケーションが既にタイムラインにプログラムで追加されているかどうかを確認するにはどうすればよいですか?
- 24. pandasデータフレームの列がdatetime型であるかどうかを確認するにはどうすればよいですか?列が数値かどうかを確認するにはどうすればよいですか?
- 25. ユーザーがindex.htmlにいるかどうかを確認するにはどうすればよいですか?
- 26. ポップアップページが開いているかどうかを確認するにはどうすればよいですか?
- 27. Facebookの新しいタイムライン機能の認証を追加するにはどうすればよいですか?
- 28. ネットパイプサービスがリッスンしているかどうかを確認するにはどうすればよいですか
- 29. ファイルが存在するかどうかを確認するにはどうすればよいですか?
- 30. レポが存在するかどうかを確認するにはどうすればよいですか?