比如Widget作品,評論插件並不:請參閱更新2Facebook的圖形API 2.0可以喜歡/評論,但不評論
我繼承具有圖形1.0實現的項目。用戶可以使用Facebook登錄,然後在網站上點擊和評論。
身份驗證系統(symfony/php)直接與Facebook進行交互,以識別用戶,如果他們不存在,可以創建配置文件,或者如果他們確實存在,他們可以登錄到本地系統。
等,並評論部件已更新,以使用2.0語法:
window.fbAsyncInit = function() {
FB.init({
appId : 'KEY_HERE',
xfbml : true,
version : 'v2.3'
});
};
</script>
<script>(function(d, s, id){
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/es_US/sdk.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
這似乎是工作確定。小部件會生成,並使用我的個人Facebook帳戶,我可以發佈並喜歡並在本網站和Facebook上查看結果。
同時,進行身份驗證,應用程序生成的授權網址是這樣的:
http://www.facebook.com/v2.3/dialog/oauth?client_id=API_KEY&redirect_uri=REDIRECT_URI&state=TOKEN&scope=SCOPE
範圍包括以下內容:
'email', 'user_website', 'offline_access', 'status_update', 'publish_actions', 'publish_stream'
從該請求的回調處理程序,我們獲取的用戶Facebook個人資料並轉發到用於登錄用戶或註冊用戶的自定義代碼:
https://graph.facebook.com/v2.3/oauth/access_token?client_id=API_KEY&redirect_uri=REDIRECT_URI&client_secret=API_SECRET&code=CODE
只要我使用我的個人FB配置文件,這也似乎工作。我可以登錄和評論和喜歡的東西。
當我使用我的Open Graph Test User登錄時,我不能贊成或評論。當嘗試發表評論時,我收到一個錯誤,它只是在燈箱/對話框中聲明「糟糕」。從我的控制檯,我得到以下錯誤:
for (;;);{"__ar":1,"error":1357010,"errorSummary":"Oops","errorDescription":"Something went wrong. We're working on getting it fixed as soon as we can.","payload":null,"bootloadable":{},"ixData":{},"lid":"0"}
這裏似乎是錯誤代碼的完整列表,但1357010未列出:
[http://fbdevwiki.com/wiki/Error_codes][1]
因此,根本的問題是,爲什麼我的Open Graph Test User(配置爲以2.0模式運行應用程序)不與這些小部件交互,而我的個人配置文件可以?我沒有正確地升級認證系統,以致2.0測試用戶沒有足夠的特權?
[UPDATE]
當我的應用程序登錄的用戶,不存在FB對話框,其允許用戶接受正被請求的權限的一部分。無論我是否使用我的個人帳戶或圖形測試用戶登錄,我都可以使用就像一個頁面,然後從結果對話框中評論 - 該對話框請求許可。
但是,從標準評論小部件,我從來沒有被要求授予發佈權限 - 它只是失敗,錯誤1357010
。切換開關「也發佈在Facebook上」沒有任何區別。
我是不是以2.0的方式進行身份驗證?
[更新2]
它看起來像我的Open Graph測試用戶可以像一個頁面,然後,在確認後,用戶可以評論的頁面上形成從像插件的結果對話框。
然而,從評論插件,評論不成功,我得到的一般錯誤代碼1357010.
什麼我需要做的授權我OG測試用戶(V2.3用戶)提交評論從標準的評論小部件?
offline_access和publish_stream權限不再存在。嘗試在Graph Explorer中使用相同的訪問令牌 – WizKid
提供相同的請求,感謝您的建議@WizKid。我在Graph Explorer中從我的測試用戶粘貼了一個訪問令牌。我得到一個包含以下字段的有效回覆:'id,first_name,last_name,email,picture,link'。修剪我的權限,只是'email,publish_actions,user_website',我仍然得到相同的錯誤,代碼:'1357010' –