相关疑难解决方法(0)

Facebook Callback JSON有时不会返回电子邮件

Facebook Graph API.

我正在请求电子邮件权限,除了一些用户之外它一切正常,json不返回电子邮件字段.我不确定为什么会这样.代码是相同的,它适用于所有用户,返回电子邮件字段,除了100个左右的用户,在json中没有此字段的用户.所有其他领域都在那里.

以前有人遇到过这个问题吗?

我检查了facebook隐私设置,如果用户授予Facebook应用程序的电子邮件访问权限,则没有任何东西阻止电子邮件进入json,但这种情况发生在我身上.我在网上搜索,似乎没有其他人面临这个问题.

任何提示都将不胜感激

facebook facebook-graph-api

13
推荐指数
1
解决办法
2440
查看次数

Facebook Graph没有返回电子邮件

更新似乎我的个人电子邮件地址已经使用多年了.Facebook将其标记为非活动状态,并且未将其作为JSON的一部分返回.

我使用此URL在客户端使用Facebook验证用户身份:

https://www.facebook.com/dialog/oauth?
  client_id=xxx&
  redirect_uri=https://www.facebook.com/connect/login_success.html&
  scope=email
Run Code Online (Sandbox Code Playgroud)

我收到一个代码然后交换一个令牌:

https://graph.facebook.com/oauth/access_token?
  code=xxx&
  client_id=xxx&
  client_secret=xxx&
  redirect_uri=xxx
Run Code Online (Sandbox Code Playgroud)

然后我将令牌发送到我的服务器,然后我获取Fb Graph以获取一些用户信息,包括电子邮件.

 https://graph.facebook.com/me?access_token=xxx
Run Code Online (Sandbox Code Playgroud)

出于某种原因,我得到所有用户'关于'信息,但不是他/她的电子邮件!

我做错了什么?

javascript facebook facebook-graph-api

8
推荐指数
1
解决办法
4373
查看次数

Facebook Graph API返回一封空邮件

我有权访问用户的电子邮件.该脚本工作正常.有数千条记录,都有正确的电子邮件,但其中一些有空字符串(5:1000).

我知道,如果用户拒绝透露他的电子邮件,那么Facebook会生成一个临时的电子邮件.因此,情况并非如此.

怎么了?没有电子邮件地址的用户可以吗?

facebook facebook-graph-api

7
推荐指数
1
解决办法
5017
查看次数

Facebook OAuth未在用户信息中返回电子邮件

我正在进行狂欢3.0安装(ROR)并尝试使用facebook oauth进行身份验证,但是在成功的oauth之后发回的字段,不包含对我们的应用程序至关重要的电子邮件.这是从facebook成功验证返回的.

#<OmniAuth::AuthHash credentials=#<OmniAuth::AuthHash expires=true expires_at=1442435073 token="CAAJa3dyBtY4BAJ2ZB3vrenNOFJKSMtvxYO09ZCJtEsmKNBs90q9nmUF4LIBr06xCizEAR3lwht3BwycLkVFdjlvkS1AUGpYODQHu25K0uO8XLDDPkTO0E9oPdIILsbTTOuIT7qcl8nJ6501z0dCXEi9hVNwPYqZBbGqiEhyoLyVgCNnDWdPRLBRF5xSovJdhjjCf6XC8ulJ4NnKBfM8"> extra=#<OmniAuth::AuthHash raw_info=#<OmniAuth::AuthHash id="101230990227589" name="David Alajbbjfdjgij Bowersstein">> info=#<OmniAuth::AuthHash::InfoHash image="http://graph.facebook.com/101230990227589/picture" name="David Alajbbjfdjgij Bowersstein"> provider="facebook" uid="101230990227589"
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,我得到的只是用户名和他们的ID.在我的Facebook应用程序上是否有一些设置需要检查以便收回电子邮件?或者我有不同的方式做Oauth?我只是使用spree_social gem,它在内部完成这一切所以我实际上并没有编写任何代码.

这是代码.复制出宝石,我只是添加了日志行,看看从Facebook回来的东西.

    def #{provider}
      authentication = Spree::UserAuthentication.find_by_provider_and_uid(auth_hash['provider'], auth_hash['uid'])

      if authentication.present? and authentication.try(:user).present?
        flash[:notice] = I18n.t('devise.omniauth_callbacks.success', kind: auth_hash['provider'])
        sign_in_and_redirect :spree_user, authentication.user
      elsif spree_current_user
        spree_current_user.apply_omniauth(auth_hash)
        spree_current_user.save!
        flash[:notice] = I18n.t('devise.sessions.signed_in')
        redirect_back_or_default(account_url)
      else
        user = Spree::User.find_by_email(auth_hash['info']['email']) || Spree::User.new
        user.apply_omniauth(auth_hash)
        Rails.logger.debug("THE AUTO HASH")
        Rails.logger.debug(auth_hash.inspect)
        if user.save
          flash[:notice] = I18n.t('devise.omniauth_callbacks.success', kind: auth_hash['provider'])
          sign_in_and_redirect :spree_user, user
        else
          session[:omniauth] = auth_hash.except('extra')
          flash[:notice] = Spree.t(:one_more_step, kind: auth_hash['provider'].capitalize)
          redirect_to …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails spree facebook-oauth

5
推荐指数
1
解决办法
2327
查看次数

无法获得FBGraphUser电子邮件

我使用Facebook登录我的应用程序.(Facebook iOS SDK版本3.11.1)

我要求"电子邮件"许可:

NSArray *permissions = [NSArray arrayWithObjects: @"basic_info", @"email", nil];
Run Code Online (Sandbox Code Playgroud)

大多数时候,我确实得到了用户的电子邮件:

NSString *email = [user objectForKey:@"email"];
//user is (NSDictionary<FBGraphUser> *)
Run Code Online (Sandbox Code Playgroud)

有时我只是不这样做.(我可以看到NSDictionary不包括电子邮件).

我正在使用此修复程序,因此当我稍后使用电子邮件时,应用程序将不会终止,并且其nil:

NSString *email = [user objectForKey:@"email"] ? [user objectForKey:@"email"] : @"NO_EMAIL";
Run Code Online (Sandbox Code Playgroud)

但我需要真正的邮件,所以我必须提出一个新的解决方案.我没有注意到有问题的用户有什么特别之处.任何想法可能是什么问题?

facebook objective-c facebook-graph-api ios

3
推荐指数
1
解决办法
2439
查看次数

如何在iPhone的快速iOS中使用FBSDK获取用户电子邮件地址?

我是使用Swift快速学习的自学开发iPhone应用程序。我正在设计一个使用FBSDK进行Facebook身份验证的登录页面。我已经成功实现了登录和注销的登录按钮。它返回用户名和ID,但无法绘制用户电子邮件ID的图形,并显示代码2500错误。另外,我无法使用新用户登录。它会自动以同一用户登录。

这是错误:

UserInfo={com.facebook.sdk:FBSDKGraphRequestErrorCategoryKey=0, com.facebook.sdk:FBSDKGraphRequestErrorHTTPStatusCodeKey=400, com.facebook.sdk:FBSDKErrorDeveloperMessageKey=An active access token must be used to query information about the current user., com.facebook.sdk:FBSDKGraphRequestErrorGraphErrorCode=2500, com.facebook.sdk:FBSDKGraphRequestErrorParsedJSONResponseKey={
    body =     {
        error =         {
            code = 2500;
            "fbtrace_id" = BimF4Nuqx0v;
            message = "An active access token must be used to query information about the current user.";
            type = OAuthException;
        };
    };
    code = 400;
}})
Successfully logged in with Facebook... 
123
result Optional({
    id = 120008981838163;
    name = "Nisha Ios";
})
Did Logout of Facebook
Run Code Online (Sandbox Code Playgroud)

这是我在AppDelegate.swift中的代码:

import UIKit …
Run Code Online (Sandbox Code Playgroud)

ios facebook-login fbsdk swift3

3
推荐指数
1
解决办法
4406
查看次数

尽管有正确的许可,但没有获得Facebook用户

我在我的应用程序(SDK 3.5)中登录了facebook并希望获得用户的电子邮件.这是我的"核心"登录代码,我相信我正在设置要求的正确权限:

NSArray *permissions = [NSArray arrayWithObjects:@"email", @"user_location", nil];

[FBSession openActiveSessionWithReadPermissions:permissions allowLoginUI:YES completionHandler:
 ^(FBSession *session, FBSessionState state, NSError *error) {
     // some code here
 }];
Run Code Online (Sandbox Code Playgroud)

现在,当我尝试从他们/我的数据中读取用户电子邮件时,它实际上适用于大多数用户.除了一些,我仍然没有收到电子邮件.

我在这里错过了什么吗?我想当用户授予此请求时,我总是会收到一个电子邮件地址(即使它是匿名电子邮件).或者只是一个Facebook设置,用户可以完全关闭它?

facebook ios

0
推荐指数
1
解决办法
2040
查看次数