获取 Facebook 用户信息并从中为 Android SDK 创建配置文件

Posted

技术标签:

【中文标题】获取 Facebook 用户信息并从中为 Android SDK 创建配置文件【英文标题】:Fetching Facebook User Info and creating a Profile from it for Android SDK 【发布时间】:2014-05-17 23:14:52 【问题描述】:

我希望我的 Facebook 登录按钮能够自动获取用户的 Facebook 信息并从中创建个人资料。

我查看了 facebook 提供的示例,但我不想在 LinearLayout 中创建单独的片段。我只想在我的 RelativeLayout 中实现它。

有人可以告诉我该怎么做吗?我到处搜索,发现不推荐使用的答案,并且是 Facebook API 的新手:/

我需要创建什么方法来获取用户信息,然后将该信息发送到第二个活动类?

这是我目前写的一些代码:

package com.example.app;

import com.facebook.*;
import com.facebook.model.GraphUser;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.ImageView;

public class MainActivity extends Activity     

@Override
/*
 * called when activity is first created
 */
protected void onCreate(Bundle savedInstanceState) 
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);


@Override
public boolean onCreateOptionsMenu(Menu menu) 
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;


/*
 * Create API call to facebook to grab user data and define a 
 * new callback to handle the response
 */
public void GrabFbUserInfo(View view)


    //Request call
    Request request = Request.newMeRequest(session, new Request.GraphUserCallback() 

        @Override
        public void onCompleted(GraphUser user, Response response) 
            //If the response is successful
            if (session == Session.)

        
    );




这是包含在 RelativeLayout 中的 activity_main 的 XML:

<com.facebook.widget.LoginButton
    android:id="@+id/fb_login_button"
    android:layout_
    android:layout_
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true"
    android:layout_marginBottom="76dp"
    android:contentDescription="@string/loginButton"
    facebook:confirm_logout="false"
    facebook:fetch_user_info="true" />

感谢任何建议!

【问题讨论】:

关注我的帖子***.com/questions/23543822/… 【参考方案1】:

请试试我的图书馆:https://github.com/antonkrasov/AndroidSocialNetworks

有了它的帮助,这真的很容易。

mSocialNetworkManager.getFacebookSocialNetwork().requestLogin(new OnLoginCompleteListener() 
    @Override
    public void onLoginSuccess(int socialNetworkID) 
        mSocialNetworkManager.getFacebookSocialNetwork().requestCurrentSocialPerson();
    

    @Override
    public void onError(int socialNetworkID, String requestID, String errorMessage, Object data) 

    
);

查看自述文件以获取更多信息,如果您有任何问题,请告诉我。

【讨论】:

嗨安东,首先是出色的工作。其次,我对 android 编程相当陌生,我将如何将您的库添加到我现有的项目中?是否类似于将 facebook SDK 添加到我现有的项目中? @AndyRoid,嗨,请关注Getting Started

以上是关于获取 Facebook 用户信息并从中为 Android SDK 创建配置文件的主要内容,如果未能解决你的问题,请参考以下文章

是否可以为多个Facebook用户获取访问令牌?

使用php创建应用程序ID后如何从facebook获取用户详细信息

Facebook 登录 - 获取用户数据

php通过用户名和密码获取facebook信息

Facebook graph api 获取用户信息

如何使用 Facebook sdk 将 Facebook 用户个人资料信息存储在数据库中?