2011-01-07 5 views
0

にステータスの更新を投稿するFB PHP APIを使用して、私はすでにのようなボタンのように、基本的なFacebookのときの積分を使用しますが、私の次の目的は、より深いときの積分を作成することで、私は音楽検索エンジンを実行してニュースフィード

私はユーザーが何か($ _COOKIE ['q']というクッキーとして設定した$ q)を検索すると、検索した内容と自分のサイトへのリンクを示すステータスアップデートが表示されることを目指しています。

JavaScriptを使用してユーザーがFacebookにログインできるようにすることはできますが、PHPの方法で行う必要があります。

私はPHPを使用する必要があります。ユーザーが許可を与えた後、ユーザーが再び嫌がらせをしないようにしたいと思います。私はFacebookのPHP SDKを持っており、Facebook上にアプリケーションを作成しています。オンラインチュートリアルは本当に役に立ちませんでした。私のPHPは大丈夫ですが、まだ正方形1になっています。

誰かが私にいくつかのガイドラインやアイデアをくれたか、それをコード化するのを助けてくれて本当に感謝しています。

ありがとうございます! Niall

答えて

1

まあ、あなたがする必要があるのは比較的簡単です。私はあなたがすでにこのための適切なJavaスクリプトを持っていると思うが、私はそれだけでも入れて、それを追加します!

大丈夫です!まず、ユーザーがログインしている場合は自分のFacebookに情報を取得し、ページの上部にあるPHPスクリプトを追加する必要があります。

(「FACEBOOK_APP_ID」、「アプリのIDを」)定義します。 define( 'FACEBOOK_SECRET'、 'YOUR APP SECRET'); 関数get_facebook_cookie($ app_id、$ application_secret){ $ args = array(); parse_str(($ COOKIE [ 'FBS' $のAPP_ID。]、 " '')、$引数トリム); ksort($引数); $ペイロード= '';キー$として foreachの($引数を= > $ value){ if($ key!= 'sig'){ $ payload。= $ key。 '='。$値; } } if(md5($ payload。$ application_secret)!= $引数[ 'SIG']){ 戻りNULL; } リターン$の引数; } $ fbcookie = get_facebook_cookie(FACEBOOK_APP_ID、FACEBOOK_SECRET); $ fb_access_token = $ fbcookie [ 'access_tokenは'];

私は、あなたがアプリIDと秘密などについて知っていると仮定しています。それらを定義セクションの下に記入してください。

次は、私たちはjavascriptのログイン用HTMLに物事のカップルを追加する必要があります。

FB.init({APPID: 'アプリID AGAIN'、状態:真、 cookie:true、xfbml:true}); FB.Event.subscribe( 'auth.login'、function(response){ window.location.reload(); });

これはあなたの体のスクリプトに入ります。

次の部分は、Facebookのログインボタンです:

FB:ログインボタンパーマ= "publish_stream、offline_access所" OnLogin = "window.location.reload(真の);"? autologoutlink = "true"? ?/ fb:login-button?

(クエスチョンマークがStackOverflowの中のコードシンボルとこれらの競合として<>記号である)

今、あなたがオフラインアクセスのための必要性について疑問に思うことがあります。それは簡単です...私はそれについても不思議です!私はそれがなぜ起こるのか100%確信していませんが、私はそれが私のウェブサーバーだと思います。ログインのアスペクトと投稿のために必要なのはカールスクリプトです:

$ url = "https://graph.facebook.com/me/feed"; $ ch = curl_init(); $ attachment = array( 'access_token' => ''。$ fb_access_token。 ''、
'メッセージ' =>「検索したばかり」。$ q。「http://domain.com」、 );

curl_setopt($ch, CURLOPT_URL,$url); 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); 
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); 
curl_setopt($ch, CURLOPT_POST, true); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $attachment); 
$result= curl_exec($ch); 

curl_close ($ch); 

だから、私がやったことを見ましたか?あなたのウェブサイトのレイアウトなどに応じてif文を追加することを忘れないでください。そうすることで、ユーザーは「http:// domain.com」で検索します。したがって、$ q = NULLなので、まだ何も送ってこないでしょう。もしあなたがクエリを持っているときのためのif文は、おそらく広告を出すでしょう:P(はい、私は私の 'print'版からURLにスペースを追加しました。 )笑「私はv_vを投稿することができますどのように多くのURLの好き嫌いです。

あなたはそれ以上の他の部分を説明するために私が必要な場合は私に聞いてください。

幸運と幸せに検索!

ジョン

+0

ヘイジョン、すべての情報をありがとう、それが動作するかどうかをチェックしていないが、あなたの目を細かく、感謝のためにもう一度、投票とアップティックを得るでしょう! – Niall

+0

こんにちはジョンさんはお悔やみ申し訳ありませんが、コードの最後の部分は一緒に行くのですか?または、彼らは私のPHPスクリプトの別々の場所にありますか? – Niall

+0

yup申し訳ありませんが、一緒に行く^^ StackOverFLowには、奇妙なコードのセクションが書かれているので、私はまだそれをすべて正しく書く方法を考えています。 – BetaPAWDkitsune

関連する問題