2015-04-20 225 views
0

比如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用戶)提交評論從標準的評論小部件?

+0

offline_access和publish_stream權限不再存在。嘗試在Graph Explorer中使用相同的訪問令牌 – WizKid

+0

提供相同的請求,感謝您的建議@WizKid。我在Graph Explorer中從我的測試用戶粘貼了一個訪問令牌。我得到一個包含以下字段的有效回覆:'id,first_name,last_name,email,picture,link'。修剪我的權限,只是'email,publish_actions,user_website',我仍然得到相同的錯誤,代碼:'1357010' –

回答

0

目前尚不清楚你打來的電話是什麼,我相信「贊和評論小工具」是你談論的是由API支持而不是官方Facebook插件支持的自定義工具。

所以這個問題:測試用戶CAN NOT與真實數據爲每docs互動:

  • Each app can create a maximum of 2000 test users.
  • Test users can only interact with other test users, and not with real users on Facebook.com.
  • Test users cannot become a fan of a public Facebook Page or create content on them, such as writing on a Page's wall. A Test user can however view and interact with any app tab on the Page associated with the app that created them.
  • Test users are unable to reply to messages, even if the message was created by the test user.
  • Test accounts can only be accessed and used by any developer of the associated app.
  • Test users will only have 'Tester' privileges on the associated app. This means that they can use the app in Public Mode or Development Mode, but cannot edit any technical settings or access insights for that app.
  • Test accounts cannot be converted to normal user accounts.

如果您正在使用真實的數據交互,這可能無法正常工作。您可以通過創建一個新的測試用戶並觀察結果來測試這一點。

+0

Thanks @ifaour。 關於這些是自定義小部件還是官方Facebook插件,我相信它們是官方的 - 沒有任何習慣。我插入如下內容:'

',然後FB將其轉換。 而且,關於「真實數據」,當我的測試用戶發佈時,我會立即看到評論顯示,然後將其刪除。這是因爲測試用戶正在與「真實數據」交互,並且它已插入UI中,在服務器上被拒絕,然後被刪除? –

+0

我不知道我頭上的確切行爲。但是我會假設類似的邏輯適用於「應用程序測試帳戶」無法以您嘗試的方式與真實數據(您的網站)進行交互的情況。 – ifaour