我对使用FB Apps完全不熟悉,这可能是一个非常愚蠢的问题,但我一直无法弄明白。
我已将我的应用设置为在“权限”页面上询问用户的电子邮件,但它要求更多。它想要“您的公开个人资料,朋友列表,电子邮件地址,生日,家乡,网站和个人描述”。我不认为我需要所有这些,虽然我使用WordPress的第三方插件(Wordpress社交登录)来处理这个问题。
我在Facebook端丢失了什么或者我应该在Wordpress插件中查找这个来源吗?
答案 0 :(得分:0)
查看wordpress插件:权限嵌入到FB.login
的javascript调用中。
public $scope = "email, user_about_me, user_birthday, user_hometown, user_website, read_stream, offline_access, publish_stream, read_friendlists";
这些是范围。编辑它,你应该很高兴。
注意:改变那些,你可能会破坏别的东西,所以祝你好运。
答案 1 :(得分:0)
权限在WordPress社交登录插件中设置。您可以更改它,但下次插件更新将导致更改丢失。 对于2.2.2版,以下工作:
在/wp-content/plugins/wordpress-social-login/includes/services/wsl.authentication.php中 在第180行附近,找到:
// set default scope and display mode for facebook
if( strtolower( $provider ) == "facebook" ){
$config["providers"][$provider]["scope"] = "email, user_about_me, user_birthday, user_hometown, user_website";
$config["providers"][$provider]["display"] = "popup";
$config["providers"][$provider]["trustForwarded"] = true;
并删除“,user_about_me,user_birthday,user_hometown,user_website”。
我没有对此进行测试,但如果您启用了联系人导入,则可能需要进一步查看; 在200号线附近,找到:
// if contacts import enabled for facebook, we request an extra permission 'read_friendlists'
# https://developers.google.com/+/domains/authentication/scopes
if( get_option( 'wsl_settings_contacts_import_facebook' ) == 1 && strtolower( $provider ) == "facebook" ){
$config["providers"][$provider]["scope"] = "email, user_about_me, user_birthday, user_hometown, user_website, read_friendlists";
}
并删除“user_about_me,user_birthday,user_hometown,user_website”,
答案 2 :(得分:0)
这是此页面上所示的钩子 https://wordpress.org/support/topic/wordpress-social-login-cantt-work-invalid-scope-user_friends/
function wsl_change_default_permissons( $provider_scope, $provider )
{
if( ‘facebook’ == strtolower( $provider ) )
{
$provider_scope = ’email, public_profile’;
}
return $provider_scope;
}
add_filter( ‘wsl_hook_alter_provider_scope’, ‘wsl_change_default_permissons’, 10, 2 );