iT邦幫忙

0

facebook php語法開發應用程式

php
gen3111619 6 年前10196 瀏覽

目前問題都寫好了 只差一個問題 那就是如何在fb上點選選擇後 還是跳到fb的畫面顯示其結果後然後貼到Wall上

<?php
// Awesome Facebook Application
//
// Name: 戀愛會為你帶來什麼改變
//

require_once 'facebook.php';

// Create our Application instance.
$appapikey = '有輸入';
$appsecret = '有輸入';
$facebook = new Facebook($appapikey, $appsecret);
$user_id = $facebook->require_login();

?>
<?php echo $msg; ?>


題目:一天夜晚,你和情人攜手在海邊散步,你們輕聲細語的描述著將來種種美好的生活,心中感到甜蜜無比。這時有天邊一輪明月,正靜靜的灑下溫柔的月光,你暗想,如果有星星來搭配不是更美麗嗎?現在有三幅星星的圖案你選擇,你會選那一幅圖案來搭配月亮呢?
<form method="post" action="test.php" name="test1" id="test1" >
<div>

<div><input type="radio" name="choice1" value="1" onclick="document.getElementById('test1').submit();">滿天璀璨的小星星 </div>

<div><input type="radio" name="choice2" value="1" onclick="document.getElementById('test1').submit();">一顆明亮耀眼的大星星 </div>

<div><input type="radio" name="choice3" value="1" onclick="document.getElementById('test1').submit();">一顆瞬間飛逝的流星 </div>
</div>
</form> 


</hrml>

1 個回答

10
sunallen
iT邦好手 1 級 ‧ 6 年前
最佳解答

大大少了二个部份,
一个是使用者延伸杈限,
一个是stream publish

使用者延伸杈限,要同意後,才能用stream publish,
可以参考我的FB 不浪漫

看更多先前的回應...收起先前的回應...
gen3111619 iT邦新手 5 級 ‧ 6 年前 檢舉

不大懂意思 我現在程式完成後 如何像她們這樣 出現題目 選擇 後 跳到另一個視窗 公佈答案後 然後貼到動態訊息上之類的 還有一個很奇怪的問題 我用的是
facebook-php-sdk-v2.1.2-4-g2343fca.tar.gz 這種版本 但是有個很大的問題是我用的Facebook.php 是舊的 用這版的$user_id = $facebook->require_login(); 就會顯示錯誤

sunallen iT邦好手 1 級 ‧ 6 年前 檢舉

哦 $user_id = $facebook->require_login(); 有錯誤,是因為facebook php sdk已經把 $user_id換掉了,現在是用$uid,您把$user_id換成$uid就可以了。

<pre class="c" name="code">$uid = $facebook->getUser(); <--改成這一行

您可以先把「題目」「作答」「公佈答案」這三個部份完成,最後再來看facebook 的程式碼該怎麼加就可以了。facebook程式碼,可以放在「公佈答案」這個部份。

Facebook 碼程序如下:

1.檢查使用者是否有登入facebook,如沒有會跳出登入Facebook的畫面
2.使用者對於您的程式,要進行「允許」發佈消息在使用者的塗鴨牆
3.將結果放到一個字串裡,然後讓使用者按「發佈」

外獅佬 iT邦大師 1 級 ‧ 6 年前 檢舉

==...太陽....原來是對岸派來臥底的....=="...

sunallen iT邦好手 1 級 ‧ 6 年前 檢舉

呃@_@ 怎說?

鐵殼心 iT邦高手 1 級 ‧ 6 年前 檢舉

大大少了二个部份,
一个是使用者延伸杈限,
一个是stream publish

這一整段都是簡體中文....

sunallen iT邦好手 1 級 ‧ 6 年前 檢舉

哦 用手機回的~~orz

gen3111619 iT邦新手 5 級 ‧ 6 年前 檢舉

嗯 感謝大大回答 可以用了 改成uid後 您說先把「題目」「作答」「公佈答案」這三個部份完成 目前是都完成了 最後還是在 公佈答案後要如何把你測驗結果貼到wall上和推薦好友的 這方面有點苦手中= = 目前上網猛找教學看 不過好多都是舊的範例 現在都不能用了

sunallen iT邦好手 1 級 ‧ 6 年前 檢舉

gen3111619大大:我明天貼原始碼給你參考,我前陣子有在寫是ok的,不過有些可能您要自己修改一下。

sunallen iT邦好手 1 級 ‧ 6 年前 檢舉

用php發佈訊息語法如下:

<pre class="c" name="code">
 這一段是發佈訊息,下面六行是參數,可參考facebook官方文件
        $target=$uid;
	$attachment =  array(
	'message' => 'Allen測試',
	'name' => "離線發佈測試訊息",
	'link' => "http://sunallen.blog.ithome.com.tw/",
	'description' => "離線發佈測試訊息",
			  'picture'=>"http://sunallen.blog.ithome.com.tw/gallery/3248/3248-46220.jpg",
			);
$ret_code=$facebook->api('/me/feed', 'POST', $attachment);
	echo "Returns : ";
	var_dump($ret_code);
	echo "<br>"; 	
gen3111619 iT邦新手 5 級 ‧ 6 年前 檢舉

我是參考這網站的寫法去改不過會顯示錯誤就是了
http://www.takwing.idv.hk/tech/fb\_dev/fbml\_oldphp/rest\_publishing.html

大大這種的用法要如何用在回答完題目後然後把他測驗結果貼到wall上@@ 有點搞不懂

gen3111619 iT邦新手 5 級 ‧ 6 年前 檢舉

我還有參考另一位大大的 不過也是會顯示錯誤@@
http://blog.theunical.com/facebook-integration/5-steps-to-publish-on-a-facebook-wall-using-php/

sunallen iT邦好手 1 級 ‧ 6 年前 檢舉

您把測驗結果放到一個字串裡 比如叫做 $endstring;
然後

程式碼....做個buttun 類似像<按我發佈結果> 然後來下面的function

function (發佈結果到facebook){
$target=$uid;
$attachment = array(
'message' => $endstring,
'name' => "測驗結果", //這個有點像<title>
'link' => "", //讓看到的人,能連到的網站url
'description' => "", //發佈內容的的描述
'picture'=>"", //看你要不要有個圖示,沒有也可以
);
ret_code=$facebook->api('/me/feed', 'POST', $attachment);
echo "Returns : ";
var_dump($ret_code);
echo "<br>";
}

這是php的寫法,如果要用javascript語法,也可以,不過內容不太一樣

gen3111619 iT邦新手 5 級 ‧ 6 年前 檢舉
&lt;pre class="c" name="code">function (發佈結果到facebook)

所謂的發佈結果到facebook那是要寫甚麼參數進去?
現在我是寫這樣
<pre class="c" name="code"><form method="post" action="answer.php" name="test1" id="test1" >
<div><input type="submit" value="按我送出測驗結果" name="answer" onClick="document.getElementById('test1').submit();"></div>
</form>

然後接下來answer.php

gen3111619 iT邦新手 5 級 ‧ 6 年前 檢舉
&lt;pre class="c" name="code">&lt;?php
function (){     //(框框裡要填神麼參數?)
$target=$uid;
$attachment = array(
'message' => $ans1,
'name' => "測驗結果", //這個有點像&lt;title>
'link' => "http://apps.facebook.com/", //讓看到的人,能連到的網站url
'description' => "test", //發佈內容的的描述
'picture'=>"", //看你要不要有個圖示,沒有也可以
);
$ret_code=$facebook->api('/me/feed', 'POST', $attachment);  (這裡也有個小問題 ret_code=$facebook這邊會顯示錯誤 是因為ret_code前面要加變數$嗎)
echo "Returns : ";
var_dump($ret_code);
echo "&lt;br>";
} 
?>

實在不好意思 小弟不才 剛碰不久 FB上的很多API研究的很苦手= =

sunallen iT邦好手 1 級 ‧ 6 年前 檢舉

因長度限制,這邊貼不了...我寄簡訊給您囉

我要發表回答

立即登入回答