我最近在老用戶遇到問題。這是一個很難測試的場景。當我嘗試強制他們使用增強型身份驗證對話框將應用程序添加到他們的時間線時,舊用戶會收到錯誤。我應該說,一切正常的新用戶。將較早的Auth用戶轉換爲增強的Auth用戶
舊用戶的身份驗證很好,但如果您嘗試時間軸操作,他們會得到一個#200錯誤,指出需要publish_actions。這是預期的。所以我試圖通過1)解決這個問題。)檢查用戶的join_date到我的應用程序。如果那個日期是在我做了增強開關之前,那麼2.)我檢查他們的權限。
如果他們沒有publish_actions,像這樣,我這樣做:
if(!array_key_exists('publish_actions', $permissions['data'][0])) {
$gotoURL = APP_URL."?page=home";
$cancelURL = APP_URL."?page=terms&cancel=1";
$url = $facebook->getLoginUrl(array('canvas' => 1, 'fbconnect' => 0,
'scope' => 'publish_actions',
'redirect_uri' => $gotoURL,
'cancel_url' => $cancelURL));
echo "<html><body><script>window.parent.location='".$url."';</script></body></html>";
exit;
}
出於某種原因,似乎把它們放在一個重定向循環。我有最新的PHP SDK,所以我不知道這個問題是什麼,就像我說的那樣,很難測試。有什麼想法可以解決問題/解決方案?有一個更好的方法嗎?