【发布时间】:2012-03-06 22:57:58
【问题描述】:
我最近遇到了老用户的问题。这是一个很难测试的场景。当我试图强制老用户使用增强型身份验证对话框将应用程序添加到他们的时间线时,他们会遇到错误。我应该指出,对于新用户来说一切正常。
旧用户身份验证很好,但如果您尝试时间轴操作,他们会收到 #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,所以我真的不知道问题是什么,就像我说的,很难测试。关于问题/解决方案可能是什么的任何想法?有没有更好的方法来做到这一点?
【问题讨论】:
标签: facebook facebook-graph-api facebook-timeline