facebook-php-sdk loginurl api 错误代码 100
Posted
技术标签:
【中文标题】facebook-php-sdk loginurl api 错误代码 100【英文标题】:facebook-php-sdk loginurl api error code 100 【发布时间】:2012-08-27 04:36:01 【问题描述】:我正在尝试使用 Facebook php SDK (v.3.2.0) 从 https://github.com/facebook/facebook-php-sdk 下面是我的代码
$config = array( 'appId' => '***',
'secret' => '***',
'cookie' => true
);
require_once("facebook.php");
$facebook = new Facebook($config);
$params = array('scope' => 'user_birthday, user_location, email',
'redirect_uri' => "http://my_domain.in/user/fb",
'display' => 'popup'
);
$loginUrl = $facebook->getLoginUrl($params);
问题是当 loginUrl 被点击时,它会从 facebook 给出如下错误:
API 错误代码:100 API 错误描述:无效参数错误 消息:显示类型popup。在 www.facebook.com 上无效。你 应该访问不同的域(m.facebook.com,www.facebook.com), 或使用以下支持的显示类型之一:页面、popup、 iframe,触摸,无
问题是我哪里出错了? 仅供参考,之前相同的代码很好,现在不知何故它不起作用,我有点错过了问题实际上发生的时候,但在这之间我确实将 facebook-php-sdk 从 3.1.1 升级到 3.2.0,n 可能我的 facebook 应用程序中的域和 url 设置。
应用程序域:my_domain.in 网址:http://www.my_domain.in
此外, 连我的参数都改成
$params = array('scope' => 'user_birthday, user_location, email',
'redirect_uri' => "http://my_domain.in/user/fb"
);
我仍然收到带有不同消息的错误
API 错误代码:100 API错误描述:无效参数 错误消息:不支持的范围:'email.'。支持的范围:ads_management create_event create_note 电子邮件强> export_stream friends_about_me friends_activities friends_birthday friends_checkins friends_education_history friends_events friends_games_activity friends_groups friends_hometown friends_interests friends_likes friends_location friends_notes friends_online_presence friends_photo_video_tags friends_photos friends_questions friends_relationship_details friends_relationships friends_religion_politics friends_status friends_subscriptions friends_videos friends_website friends_work_history manage_friendlists manage_notifications manage_pages offline_access photo_upload publish_actions publish_checkins publish_stream read_friendlists read_insights read_mailbox read_page_mailboxes read_requests read_stream rsvp_event share_item sms status_update user_about_me user_activities user_birthday user_checkins user_education_history user_events user_games_activity user_groups user_hometown user_interests user_likes user _location user_notes user_online_presence user_photo_video_tags user_photos user_questions user_relationship_details user_relationships user_religion_politics user_status user_subscriptions user_videos user_website user_work_history video_upload xmpp_login
请帮忙, 谢谢。
【问题讨论】:
【参考方案1】:在这种情况下,您不能使用 display
参数,因为您只是在创建一个 URL,而 URL 本身不包含任何告诉“我想在弹出窗口中打开”的能力。
该参数主要用于JS SDK外的FB.ui
方法调用对话框。
只需从您的 $params
数组中删除该条目,它就可以工作了。
【讨论】:
感谢@CBroe 的回复,非常感谢。正如我在下面发布的那样,问题现在已解决。【参考方案2】:已解决。
问题是我的 href 属性中有一个额外的字符(一个点), 如下编码
<a href="<?php echo $loginUrl; ?>.">
在再次查看错误消息后注意到它(弹出*.*电子邮件*.*)。
当我删除角色时它只是工作。 所以它不是由 facebook-php-sdk 版本或我的 facebook 应用程序中的域/url 设置引起的。
很抱歉给您带来任何麻烦。
【讨论】:
以上是关于facebook-php-sdk loginurl api 错误代码 100的主要内容,如果未能解决你的问题,请参考以下文章
ASP.Net MVC 3 将未经授权的用户重定向到 loginUrl
Session.Abandon 不会自动重定向到 asp.net 中的 loginurl
web.config 中的 loginURL 在基于虚拟目录的页面中形成身份验证
shiro+springmvc集成时,配置loginUrl='login.jsp',但是login.jsp页面在WEB-INF 目录下,导致无法显示