2015-04-17 70 views
0

我希望用戶喜歡他們正在查看的某些帖子。爲此,我將<id>/likes作爲POST方法。Graph API 2.3:<id>/Likes需要Read_Stream?

用戶擁有這些權限:basic_info,public_profile,publish_actions,read_custom_friendlists,user_friends,user_photos,user_posts

我加載使用/feed/me,這應該意味着Facebook將使用其ID找到這些職位的職位在隨後的調用中。

的流量likes看起來是這樣的:

POST /v2.3/123456789_98765/likes HTTP/1.1 
Accept-Encoding: gzip 
Authorization: Bearer blahblah... 
User-Agent: Google-HTTP-Java-Client/1.11.0-beta (gzip) 
Content-Length: 0 
Content-Type: application/x-www-form-urlencoded; charset=UTF-8 
Host: graph.facebook.com 
Connection: Keep-Alive 

HTTP/1.1 400 Bad Request 
Content-Type: text/javascript; charset=UTF-8 
WWW-Authenticate: OAuth "Facebook Platform" "invalid_request" "(#100) Error finding the requested story" 
Access-Control-Allow-Origin: * 
X-FB-Rev: 1694181 
Pragma: no-cache 
Cache-Control: no-store 
Facebook-API-Version: v2.3 
Expires: Sat, 01 Jan 2000 00:00:00 GMT 
X-FB-Debug: Ttvq+Mie2nN3jFdxREVlQj9pbZKanHPBUdlgNnOicrpDtOvEsrPOtoaKuQ+3w7TcG2L4lbWOLKhuDh4Zm14jlw== 
Date: Fri, 17 Apr 2015 07:55:08 GMT 
Connection: keep-alive 
Content-Length: 99 

{"error":{"message":"(#100) Error finding the requested story","type":"OAuthException","code":100}}" 

我試圖使它與圖形API瀏覽器協同工作。我添加了許可user_likes,但這並沒有起到作用。我添加了權限read_stream,並突然生效!

但是,根據documentation用戶只需要publish_actions喜歡帖子。

由於我們不會得到read_stream我們堅持文檔提供的內容。這是一個錯誤還是我們需要其他權限或不同的邏輯來使其工作?

+0

我認爲用戶需要能夠「看見」對象才能夠喜歡它。根據你想要的文章類型,可能需要'read_stream'。 (「找到所請求的故事錯誤」消息表示用戶無法通過您的應用查看帖子。) – CBroe

+0

@CBroe對不起,我忘了說Facebook通過致電「/ feed/me」返回了該帖子。因此,用戶看到它,恕我直言,也應該能夠喜歡它。 – sjngm

+0

該ID看起來像用戶ID和帖子ID的組合。在下劃線後嘗試只使用它的最後部分。 – CBroe

回答

0

這是fixed by Facebook。不過請注意,publish_actions本身不適用於各種類型的帖子。例如。如果您想欣賞視頻,即使您不想播放它們,用戶也必須擁有user_videos權限。

進一步說明,Facebook顯然不會將技術用於SO。