AccessToken 令牌:Facebook Android SDK 中的 ACCESS_TOKEN_REMOVED

     2023-02-24     100

关键词:

【中文标题】AccessToken 令牌:Facebook Android SDK 中的 ACCESS_TOKEN_REMOVED【英文标题】:AccessToken token:ACCESS_TOKEN_REMOVED in Facebook Android SDK 【发布时间】:2013-08-19 06:23:37 【问题描述】:

我正在使用 Facebook SDK,但我想创建相册,但我在会话中获得了 ACCESS_TOKEN_REMOVED。

在会话中得到这个

Session state:OPENED, token:AccessToken token:ACCESS_TOKEN_REMOVED permissions:[read_stream, manage_friendlists, read_mailbox, status_update, photo_upload, video_upload, sms, create_event, rsvp_event, email, xmpp_login, create_note, share_item, publish_stream, ads_management, read_insights, read_requests, manage_notifications, read_friendlists, manage_pages, publish_actions, user_birthday, user_religion_politics, user_relationships, user_relationship_details, user_hometown, user_location, user_likes, user_activities, user_interests, user_education_history, user_work_history, user_online_presence, user_website, user_groups, user_events, user_photos, user_videos, user_photo_video_tags, user_notes, user_checkins, user_about_me, user_status, basic_info], appId:458921577539675

代码。

/**
 * Connect to facebook using Facebook SDK.
 */
public void connectToFacebook() 
    Session session = Session.getActiveSession();
    if(session == null || session.isClosed()) 
        Session.openActiveSession((Activity)context, true, new StatusCallback() 
            @Override
            public void call(Session session, SessionState state, Exception exception) 
                if(session.isOpened() && state == SessionState.CREATED_TOKEN_LOADED) 
                    Log.v(GlobalVars.TAG, "Token::" + session.getAccessToken());
                    Request.executeMeRequestAsync(session, new GraphUserCallback() 
                        @Override
                        public void onCompleted(GraphUser user, Response response) 
                            if(response != null) 
                                Log.v(GlobalVars.TAG, "Response::" + response);
                                Log.v(GlobalVars.TAG, "Response::" + user.getFirstName() + ":::" + user.getLastName());
                            
                        
                    );
                
            
        );
    


@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) 
    super.onActivityResult(requestCode, resultCode, data);
    Session.getActiveSession().onActivityResult(this, requestCode, resultCode, data);

【问题讨论】:

SDK 不会直接记录您的访问令牌,这就是您看到 ACCESS_TOKEN_REMOVED 的原因。您的请求是否有错误? @MingLi 我在执行call 方法时看到此错误。请帮助我为什么会这样? 你不需要检查“state == SessionState.CREATED_TOKEN_LOADED”,其实那是错误的检查。只需 session.isOpened() 就足够了。我之前的评论提到,出于安全目的,SDK 不会将您的访问令牌记录在 logcat 中,这就是您看到 ACCESS_TOKEN_REMOVED(而不是真正的访问令牌)的原因。 但是实现如何知道用户正在尝试将输出转发到 Logcat ?上面的断言没有意义。 session.getAccessToken() 【参考方案1】:

如果您只是在日志中看到ACCESS_TOKEN_REMOVED,请确保您打印的是session.getAccessToken().getToken()。在上面的例子中,替换

Log.v(GlobalVars.TAG, "Token::" + session.getAccessToken());

Log.v(GlobalVars.TAG, "Token::" + session.getAccessToken().getToken());

【讨论】:

这应该被标记为正确答案。 Facebook 不允许开发人员直接记录“session.getAccessToken”,因为这可能会导致泄漏。谁遇到同样的问题,也应该检查这个以获取更多信息:http://***.com/a/29544390/2754871【参考方案2】:

我在过去 2 天面临的同样问题,最后我知道了这一点。 Facebook SDK 不会将访问令牌记录到 logcat(以避免通过日志泄漏用户令牌,如描述中所述)。

只需在 FacebookSdk.sdkInitialize() 之后添加这些行,我建议您仅在调试模式下执行此操作:

if (BuildConfig.DEBUG) 
    FacebookSdk.setIsDebugEnabled(true);
    FacebookSdk.addLoggingBehavior(LoggingBehavior.INCLUDE_ACCESS_TOKENS);

【讨论】:

如果我在 Play Store 上发布应用,这是否可行? @ChiragSavsani 这肯定会起作用,因为它也适用于我的情况:) 好的。感谢您的帮助。 @RavinderBhandari 嘿,我在 android studio 中使用 facebook sdk 4+,我在登录结果中得到以下响应...... ..... AccessToken 令牌:ACCESS_TOKEN_REMOVED 我认为这就是 ans 的用途 :)【参考方案3】:

您必须在 Firebase 控制台上启用 facebook 登录并添加 facebook 应用程序 ID 和应用程序密钥,它应该可以正常工作

【讨论】:

【参考方案4】:

我也遇到了同样的问题:/

您可以查看:

    appId 是否正确? keyhash 是否在 facebook 应用中心注册? 应用名称空间/包名称是否与您的清单文件匹配? (在 Facebook 应用中心) 应用程序上线了吗?

如果一切正常,我真的不知道如何帮助你......

【讨论】:

【参考方案5】:

我检查了费尔南多所说的所有项目并添加了它

Session.getActiveSession().onActivityResult(this, requestCode, resultCode, data);

我不知道最后一行是解决问题的原因还是随机的。

我正在为 Xamarin 使用 Facebook Android SDK 3.17

来自阿根廷的问候 埃尔南 www.hernanzaldivar.com

【讨论】:

AccessToken 令牌:Facebook Android SDK 中的 ACCESS_TOKEN_REMOVED

】AccessToken令牌:FacebookAndroidSDK中的ACCESS_TOKEN_REMOVED【英文标题】:AccessTokentoken:ACCESS_TOKEN_REMOVEDinFacebookAndroidSDK【发布时间】:2013-08-1906:23:37【问题描述】:我正在使用FacebookSDK,但我想创建相册,但我在会话中获得了ACCESS_TOKEN_RE... 查看详情

使用加密访问令牌格式登录 Facebook XMPP

...登录FacebookXMPP【英文标题】:LoggingintoFacebookXMPPwithencryptedaccesstokenformat【发布时间】:2011-10-1210:25:48【问题描述】:我的accessToken有问题!!accessToken一直没问题。标准格式:AAA|BBB|CCC我可以从给定的accessToken(AAA|BBB|CCC)中获取可用... 查看详情

Facebook - 错误代码 - 2500 非活动访问令牌

...00非活动访问令牌【英文标题】:Facebook-ErrorCode-2500InactiveAccessToken【发布时间】:2015-12-2712:55:09【问题描述】:我使用Parse(由Facebook)作为我的后端服务,并且我已将Facebook与现有Parse用户链接。我在与Facebook链接的ParseUser上使用... 查看详情

Facebook 错误 Invalid_access 令牌

...acebook错误Invalid_access令牌【英文标题】:FacebookErrorInvalid_accesstoken【发布时间】:2016-01-2806:03:15【问题描述】:在ios9.2中,当我登录facebook时出现错误Invalid_accesstoken。但是当我使用应用注册帐户登录时,它会成功登录facebook。我... 查看详情

使用 accesstoken 登录 Facebook

】使用accesstoken登录Facebook【英文标题】:Facebookloginwithaccesstoken【发布时间】:2016-09-0721:53:12【问题描述】:我有一个来自facebook的accessToken,我还可以使用带有signedRequest的graph-api获取一些数据。表示我已成功交换所有令牌、代... 查看详情

即使从 Facebook 设置中删除应用后,AccessToken 仍然存在

】即使从Facebook设置中删除应用后,AccessToken仍然存在【英文标题】:AccessTokenstillexistsevenafterremovinganappfromFacebooksettings【发布时间】:2016-01-2415:43:56【问题描述】:我希望我的自定义登录按钮在以下情况下显示为蓝色:用户已授... 查看详情

将 AccessToken 传递到 Xamarin Facebook iOS SDK

】将AccessToken传递到XamarinFacebookiOSSDK【英文标题】:PassingAccessTokenintoXamarinFacebookiOSSDK【发布时间】:2015-11-3021:53:47【问题描述】:我正在从我正在使用的另一个Xamarin登录SDK中检索FB访问令牌。是否可以手动设置访问令牌并跳过Xam... 查看详情

Facebook SDK 和 Swift 2.0 - 处理 accessToken 的问题

】FacebookSDK和Swift2.0-处理accessToken的问题【英文标题】:FacebookSDKandSwift2.0-ProblemswithhandlingaccessToken【发布时间】:2016-01-2221:26:15【问题描述】:我的名字是文森特,我需要你的帮助!(我的代码并不详尽)使用FacebookSDK登录或注销... 查看详情

如何使用访问令牌获取 Facebook 用户 ID

...取Facebook用户ID【英文标题】:HowtogettheFacebookuseridusingtheaccesstoken【发布时间】:2011-04-0213:54:21【问题描述】:我有一个Facebook桌面应用程序,并且正在使用GraphAPI。我能够获取访问令牌,但完成之后-我不知道如何获取用户ID。我... 查看详情

使用 swift ios 将 accessToken 发送到服务器

】使用swiftios将accessToken发送到服务器【英文标题】:sendingaccessTokentoserverusingswiftios【发布时间】:2014-09-2703:37:12【问题描述】:我正在尝试使用facebookiosloginsdk。我使用以下代码获取访问令牌。现在我想将此令牌发送到服务器,... 查看详情

flutter_auth 要求 Facebook 登录的访问令牌是啥?

...auth要求Facebook登录的访问令牌是啥?【英文标题】:Whatisaccesstokenthatflutter_authisaskingforfacebooklogin?flutter_auth要求Facebook登录的访问令牌是什么?【发布时间】:2018-11-1100:17:01【问题描述】:我正在尝试_auth.signInWithFacebook(accessToken:nu... 查看详情

Facebook iOS 上传视频“无法从访问令牌中检索会话密钥。”

...标题】:FacebookiOSUploadVideo"Unabletoretrievesessionkeyfromtheaccesstoken."【发布时间】:2011-04-0513:23:46【问题描述】:我想使用ios-sdk在facebook上上传视频我检查有问题的讨论iPhoneFacebookVideoUpload并尝试在我的应用程序 查看详情

firebaseauth是否可以存储和管理不同提供商的访问令牌?(代码片段)

...s.loggedIn:AuthCredentialauthCredential=FacebookAuthProvider.getCredential(accessToken:result.accessToken.token);FirebaseUseruser=(awaitFirebaseAuth.instance.signInWithCredential(authCredential)).user;//HereIsaveu 查看详情

带有电子邮件地址的 FBSDKLoginManager 令牌

...在使用FBSDKLoginManager登录到facebook,我得到了我已验证的AccessToken。https://graph.facebook.com/m 查看详情

facebook登录jwt(代码片段)

...到FB并继续进行身份验证。之后,它为已记录的用户获取AccessToken,并创建一个返回给客户端的JWT令牌。这是一篇博客文章,解释了如何使用 查看详情

Cordova Facebook 登录仅返回 accessToken

】CordovaFacebook登录仅返回accessToken【英文标题】:CordovaFacebookloginreturnsonlyaccessToken【发布时间】:2017-10-0719:46:30【问题描述】:我正在使用theofficialCordovaFacebookplugin在我的移动应用中实现Facebook登录。几天来,我一直在尝试使以下... 查看详情

获取 xmpp_login 访问令牌在 Facebook iOS SDK 中不起作用

...牌在FacebookiOSSDK中不起作用【英文标题】:Gettingxmpp_loginAccessTokenNotWorkinginFacebookiOSSDK【发布时间】:2014-08-2114:07:14【问题描述】:我正在尝试获取有效的accessToken以通过XMPP从我的iOS应用发送消息。我正在使用这个库(https://github.com... 查看详情

从 Firebase.initializeApp() 获取令牌

...,我会得到一个质量更好的photoURL,如下所示:...FacebookAccessTokenmyToken=facebookUser.accessToken;if(myToken==null)re 查看详情