如何使用Facebook Android SDK 3.8获取Facebook访问令牌?

泽维尔·马克西姆(Xavier MAXIMIN)

我可以问你一个问题?如何获取使用Facebook Android SDK 3.8创建的Facebook访问令牌?我尝试了各种方法来做到这一点。但是似乎我做的方式不正确。该应用是Android 4.0 SDK和API级别14。

在我的用户界面中,我有一个经典的Android按钮。

<Button
android:id="@+id/btn_facebook"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="5dp"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:layout_marginTop="80dp"
android:background="@drawable/button_facebook_normal"
android:text="@string/btn_facebook"
android:textColor="@color/white" />

在我的AndroidManifest.xml中

还有这个

<!-- FACEBOOK SDK -->
<activity android:name="com.facebook.LoginActivity" />
<meta-data
android:name="com.facebook.sdk.ApplicationId"
android:value="@string/app_id" />

strings.xml

<string name="app_id">XXXXXXXX</string>

我只想获取按钮的onClick的访问令牌,然后可以将其发送到API应用程序后端。在我的配置中,名称空间丢失了,但我不知道将其放置在facebook sdk配置中的位置。

在此先多谢。


我尝试从https://developers.facebook.com/docs/facebook-login/access-tokens#usertokens中获取一些东西


好的,我的AppId指向一个我没有注册为开发人员的应用程序,所以... :)瞧,该应用程序位于沙箱中。现在,我的屏幕上显示“此应用程序需要您的信息”

现在唯一缺少的是访问令牌,该令牌此时为空字符串。

这是代码

private String getAccessToken() {
    Session.OpenRequest request = new Session.OpenRequest(this);
    request.setPermissions(Arrays.asList("email", "user_birthday"));
    request.setCallback(mCallback);

    // get active session
    Session mFacebookSession = Session.getActiveSession();
    if (mFacebookSession == null || mFacebookSession.isClosed()) {
        mFacebookSession = new Session(this);
    }
    mFacebookSession.openForRead(request);
    return mFacebookSession.getAccessToken(); // the access token is empty here
}

StatusCallback mCallback =新的Session.StatusCallback(){

    @Override
    public void call(Session session, SessionState state,
            Exception exception) {
        // TODO Auto-generated method stub
            System.out.println("test : "+session.getAccessToken());// the access token is empty here too.




    }

}; // the code you already have
前任的

您需要将参数从onActivityResult方法传递到Facebook会话onActivityResult方法,访问令牌不会为空,如下所示:

    /**
    * Required for Facebook.
    */
    @Override
    protected void onActivityResult(int arg0, int arg1, Intent arg2) {
        super.onActivityResult(arg0, arg1, arg2);
        Session.getActiveSession().onActivityResult(TheActivity.this, arg0, arg1, arg2);
    }

这是Facebook的Android的登录文件中称这里,在“身份验证变更触发”部分的结尾。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用Facebook SDK Android获取Facebook照片,全名,性别

如何使用Android Facebook SDK从Facebook获取朋友列表?

如何使用Facebook SDK Xamarin Android登录?

如何获取用户信息。使用Android Facebook SDK?

Android Facebook SDK 4.X,如何获取电子邮件地址和Facebook访问令牌以将其传递到Web服务

无法使用Android SDK 3连接到Facebook

如何从C#中的Facebook SDK获取当前用户访问令牌?不是应用访问令牌

Facebook PHP SDK 4.0:获取长期访问令牌

Facebook SDK-用户登录时获取访问令牌

Android Studio 0.8.1-如何使用Facebook SDK?

如何使用Facebook SDK的Open Graph喜欢Android中的Url

如何在Android中使用SDK 4.1.0登录Facebook?

如何使用SDK 3.0在Android中存储Facebook的登录状态

注销Facebook Android SDK

Android + Facebook SDK

Facebook PHP SDK-如何获取长期存在的页面访问令牌

使用Facebook Android sdk的Android Facebook相册显示

如何使用Facebook Android SDK 4.x将视频上传到Facebook?

如何在Android中使用Facebook SDK在Facebook中发布消息?

我如何登录Facebook Android SDK 3.15.0

Android-如何使用Facebook SDK 4获取用户电子邮件

如何使用Android版Facebook SDK v4.2获取用户详细信息

Facebook Android SDK 4.0:newGraphPathRequest返回“必须使用活动访问令牌来查询有关当前用户的信息。”

如何从Android Facebook SDK 4.6.0获取电子邮件ID?

如何获取发布哈希键Facebook Android SDK

在Android中发布Facebook SDK 4.0时删除了访问令牌

使用Facebook Android SDK和Proguard登录

使用Facebook Android SDK的无效密钥哈希

使用Android SDK重新打开Facebook会话