2011-04-22 63 views
5

如何使用Facebook上的應用程序發送通知?因爲我知道這個函數FB在幾個月前阻塞了,但仍然有一些應用程序,哪些請求會使用FB通知通知我。那麼我怎麼能做到這一點?在圖API中沒有任何關於它的說法。使用Facebook上的應用程序發送通知

回答

3

發送「通知」的最新方式是通過請求2.0實現。他們不再將它們稱爲通知。 Facebook現在決定用戶是否會收到除了請求之外的通知。

http://developers.facebook.com/blog/post/464/

+1

有什麼辦法可以影響這個「決定」嗎?誰做出這個決定 - 他們的服務器自動或他們的團隊手動? – yegor256 2012-03-17 02:34:15

+0

一個重要因素是您的應用需要採取的行動的響應率。如果發佈的故事有很多「隱藏」,Facebook會假設你的應用程序是垃圾郵件,並會減少分發。如果用戶喜歡你的應用和內容,Facebook會盡最大努力發現你的內容。 – 2012-03-17 13:43:09

0

有這樣的一種方式,這是非常難的文檔中找到,它並不能很好地工作(我認爲它甚至可能會稍微越野車)。

http://developers.facebook.com/docs/channels/#requests

由於某種原因,它是根據請求部分,而不是通知部分。

下面是頁面上的代碼示例,我測試了它,並且它不會導致地球通知事件上出現紅色通知圖標 - 它只會增加您的左側的應用程序書籤上的數字主頁。我想這是一個非常不合法的方式來向用戶發送消息。如果您的應用程序不是畫布應用程序(如頁面選項卡應用程序),則實際上不會執行任何操作,因爲您沒有該應用程序的書籤圖標。

<?php 

    $app_id = YOUR_APP_ID; 
    $app_secret = YOUR_APP_SECRET; 

    $token_url = "https://graph.facebook.com/oauth/access_token?" . 
    "client_id=" . $app_id . 
    "&client_secret=" . $app_secret . 
    "&grant_type=client_credentials"; 

    $app_access_token = file_get_contents($token_url); 

    $user_id = THE_CURRENT_USER_ID; 

    $apprequest_url ="https://graph.facebook.com/" . 
    $user_id . 
    "/apprequests?message='INSERT_UT8_STRING_MSG'" . 
    "&data='INSERT_STRING_DATA'&" . 
    $app_access_token . "&method=post"; 

    $result = file_get_contents($apprequest_url); 
    echo("App Request sent?: ". $result); 
?> 
相關問題