簡體   English   中英

使用PHP發布到用戶牆

[英]Posting to a user's wall using PHP

好吧,這已經讓我忙了兩天了,現在我正在全力以赴。 我已經將其發布在論壇上,詢問朋友,對其進行了廣泛的Google搜索,並研究了stackoverflow。 我不是第一個提出這個問題的人,但是我在答案中找不到答案,所以這就是我創建這個新問題的原因。

這就是我要嘗試的操作:-我想將消息作為PHP中的Facebook應用程序發布到用戶的牆上。 -我要在服務器與服務器之間進行此操作,因此,在沒有對話框和任何用戶交互的情況下(我可能會在那時修剪草坪)-該用戶已授予我的應用程序權限,這些權限是:1)manage_pages,2)publish_stream,3)read_stream-我正在使用PHP Facebook SDK-這是我的代碼:

/* Facebook */ 
$facebook = new Facebook(array(
    'appId'  => FACEBOOK_APP_ID,
    'secret' => FACEBOOK_APP_SECRET
));
/* string */ 
$accessToken = $facebook->getAccessToken();
/* Array<string> */ 
$postFields = array("message"=>"test2", "access_token"=>$accessToken);

$facebook->api('/{the-id-of-the-facebook-user}/feed','post',$postFields);

這是問題:我不斷收到以下錯誤消息:(#200)用戶尚未授權應用程序執行此操作。

這是胡扯的消息,原因是用戶已授權我的應用程序(該用戶也恰好是我,我檢查了應用程序下的所有權限,它們很好)。

任何建議將不勝感激,因為我不知道在哪里看了。 我知道其他人以前曾發布過此問題,但答案並不令人滿意。 非常感謝。

不允許將應用發布到用戶的牆上。 您只能以用戶或其他用戶(即用戶到用戶)的身份張貼到牆上。 如果您想通知用戶某些信息,則應改用“應用程序對用戶的請求” API。

我不知道是什么導致了錯誤。 我嘗試了多種角度。 在某些情況下,我確實設法在牆上張貼了一些東西,因為api返回了該帖子的ID,我可以將其輸入瀏覽器中以查看該帖子(www.facebook.com/{the-id-of-the-post }。

然而,奇怪的是,該帖子並未出現在時間軸上,而是出現在單獨的頁面上。 與普通的Facebook頁面一樣,該頁面的頂部沒有用戶個人資料。 它在查詢字符串中也有一個storyID參數。 我不知道自己在哪個頁面上以及為什么它不僅僅出現在時間軸上。

我試圖發布到的Facebook頁面是公司頁面。 但這並不像通常那樣附在“正常的”(某人)Facebook頁面上。 最終,我確實設法發布到屬於“正常” facebook頁面的頁面的頁面。 因此,在大多數情況下,我的代碼現在可以運行了。 不用說,Facebook SDK,文檔和http://developers.facebook.com的文檔仍有很多改進之處。 還不清楚如何執行某些操作。 我花了很多時間在WP7應用程序上使用Facebook功能,現在我花了至少4天的時間使它在該網站上可用。 我決定編寫自己的SDK並在將來進行擴展。

感謝大家的時間和幫助。 Stackoverflow令人震驚!

如果您要發布的Feed來自授予權限的同一用戶,則可以放me而不是{the-id-of-the-facebook-user} 我只是嘗試了一下,它起作用了:

$facebook->api(
    '/me/feed/',
    'post',
    array(
    'message' => "my message"
));

無需發布access_token。 用戶授予的權限只是publish_actions

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM