ラベル facebook の投稿を表示しています。 すべての投稿を表示
ラベル facebook の投稿を表示しています。 すべての投稿を表示

2013年3月24日日曜日

FacebookのjavascriptSDKとUIWebViewでの落とし穴

FB.login()を使うとブランクが残る

いくつも関数が用意されているのですが、ログインのために開いたWindowが自動で閉じません。
そのため、白いブランク画面が表示されたままで遷移が止まってしまいます。

ログインは、window.locationとリダイレクトURLを自前設定することで、FBログインののち、用意している画面にリダイレクトさせることができます。



サンプルコード
 


login





  window.fbAsyncInit = function() {
    var stat = "";
    var hostUrl = "http://foo.bar/login.html";
    var appId = "xxxxxxxxxxxxxxx";
    var permission = "user_about_me,user_photos,user_birthday,user_location";

    // init the FB JS SDK
    FB.init({
      appId      : appId, // App ID from the App Dashboard
      status     : true, // check the login status upon init?
      cookie     : true, // set sessions cookies to allow your server to access the session?
      xfbml      : true  // parse XFBML tags on this page?
    });

    // Additional initialization code such as adding Event Listeners goes here
    FB.getLoginStatus(function(resp){
        if(resp.status === 'connected'){
            console.log("already login");
            getData();
            stat = resp.status;
            $("#facebookLogin").text("logout");
        }else if(resp.status === 'not_authorized'){
            console.log("noAuth");
        }else{
            console.log("noLogin");
        };
    });

    function getData(){
        FB.api("/me/", function(resp){
            console.log(resp);
        });
    }

    $("#facebookLogin").click(function(){
        console.log("click");
        if(stat === "connected"){
            console.log("connect");
            FB.logout(function(response) {
                $("#facebookLogin").text("login");
                stat = "";
            });
        }else{
            console.log("not connect");
            window.location = encodeURI("https://m.facebook.com/dialog/oauth?client_id="+appId+"&redirect_uri="+hostUrl+"&response_type=token&scope="+permission);
        }
    });

  };

  (function(d, debug){
     var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
     if (d.getElementById(id)) {return;}
     js = d.createElement('script'); js.id = id; js.async = true;
     js.src = "//connect.facebook.net/ja_JP/all" + (debug ? "/debug" : "") + ".js";
     ref.parentNode.insertBefore(js, ref);
   }(document, false)); 



参考
JavaScript SDK

2011年11月4日金曜日

Twitter・facebook・LinkedInの美しい連携方法

連携させる意味

by pwbaker

僕は昔、facebookをあまり使っていないため、寂しいTLになっていた。それを補うため、Twitterの投稿をfacebookに反映させていた。そうすることで、見た目に充実したものになった。

しかし、僕のTwitterfacebookどちらにもつながっている人からすれば、情報を2度見て鬱陶しいことになる、ということに気づいてから、連携をやめた。

結果、昔よりは意識してfacebookを活用するようになり、さらに友人も増え、やや活発なTLとなったため、見る分にも面白いし、グループなども使い勝手がいいため重宝している。
そして今ではLinkedInも使いたいため、どうしようかといろいろ試していた。

Twitterではゆるいつながりが多いため、自由にやっているが、facebookでは顔見知りばかりなので、ある意味やりすぎちゃいけないと思ってやっている。LinkedInでは、ビジネスのつながりにしたいと考えて、リンクを伴うもののみの投稿にしている。
この使い方でも、投稿の種類によっては重複して投稿したくなる時がある。しかしすべてが連携しては鬱陶しいので、必要な情報だけを選択して連携させることにした。

もちろん使い方には個人差があるため、僕のような使い方を考えている人には、今回の記事は少しは役に立つと思う。

そんな僕のTwitterfacebookLinkedInの使用頻度は、割合で言うと631くらいです。
Twitterをメインとして使っています。それの一番大きな理由は、EVERNOTE自動で送ることができるからです。
メインに使うというのは、投稿はTwitterに集結させるということです。それぞれの連携のやり方を説明します。



TwitterfacebookfacebookTwitterの違い

by lioman123

Twitterfacebookは、selective tweetsを使う。これは、Twitterでの投稿で、#fb を付けたもののみ、facebookにも投稿してくれる。
しかし個人的には難点があって、facebookサムネイルが表示されないのだ。
これは投稿の魅力を半減させるし、何より美しくない。
そこで、逆を考えた。

facebookTwitterは、ここ(Facebook内)から行う。
これを使えば、facebookからの投稿となるので、サムネイルが表示されながらもTwitterに投稿することができ、evernoteとの連携も取れる。



見出し:3つの連携

by Bernhardt Soccer

LinkedInは、Twitterと連携することができる。LinkedInからは、チェックの有無でTwitterにも投稿でき、Twitterからは”#in(#li)”をつけた投稿がLinkedInに投稿できる。このハッシュタグ機能を使う(”#in(#li)”のあとに続けて日本語がついても投稿されるので注意)。

サムネイルを付けたい投稿は、facebookから行う。Facebookの投稿に”#in(#li)”を付けると、facebookTwitterLinkedInと連携される。しかもすごいところは、LinkedInの投稿にもサムネイルが表示されるのである。公式は素晴らしい。

ニュースメディアにはそれぞれのSNSへ投稿できる機能がついているときがある。この場合、facebookTwitterの連携は、Twitterが同じ内容のTweetを防ぐ機能を持っているので、二重になることはない。LinkedInにはその機能がないようだ。しかし”#in(#li)”さえ付けなければ重複することはない。



まとめ

同じ情報を流すことに意味はないと思うかもしれないが、TwitterLinkedInfacebook、それぞれ各自で使い方は異なり、つながっている人にも違いがある。
その違いに対する配慮として、選別して情報を流すべきだと思う。そしてWEB上に自分が何を残したか記録しておくことで、後に振り返ることができる。