获取 Facebook 用户数据
嘿伙计们 我能够将用户登录到其 Facebook 帐户并在他的个人资料上发布内容。 但我无法做的是获取 Facebook 用户信息。 我不知道 facebook 为会话提供的访问令牌在哪里。 我正在使用 fbConnect.jar 并将其添加到我的 lib 文件夹和构建路径中 以下是我正在使用的代码:-
private Facebook facebookClient;
String information;
Button fb;
//** Called when the activity is first created. *//*
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
fb = (Button)findViewById(R.id.fb);
fb.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
whenFbPressed();
}
});
}
@Override
public void onCancel() {
// TODO Auto-generated method stub
}
@Override
public void onComplete(Bundle values) {
// TODO Auto-generated method stub
if (values.isEmpty()) {
return;
}
if (!values.containsKey("post_id")) {
try {
Bundle parameters = new Bundle();
parameters
.putString("message", "is Listening to " );// the
parameters.putString("attachment",
"{\"name\":\"My Test Image\"," + "\"href\":\"" +
"http://www.google.com" + "\"," +
"\"media\":[{\"type\":\"image\",\"src\":\"" +
"http://www.google.com/logos/mucha10-hp.jpg" +
"\",\"href\":\"" + "http://www.google.com" + "\"}]" + "}");
parameters.putString("attachment", "{\"name\":\"" + "Abhishek"
+ "\"," + "\"href\":\"" + "www.google.com" + "\"}]" + "}");
facebookClient.dialog(this, "stream.publish", parameters, this);
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
}
@Override
public void onError(DialogError e) {
// TODO Auto-generated method stub
System.out.println("Error: " + e.getMessage());
}
@Override
public void onFacebookError(FacebookError e) {
// TODO Auto-generated method stub
System.out.println("Error: " + e.getMessage());
}
public void onClick(View v) {
if (v == fb) {
facebookClient = new Facebook("App_ID");
// facebookClient = new Facebook("App_ID");
// replace APP_API_ID with your own
facebookClient.authorize(this, new String[] { "publish_stream",
"read_stream", "offline_access" }, this);
}
}
public void whenFbPressed(){
facebookClient = new Facebook("App_ID");
// facebookClient = new Facebook("App_ID");
// replace APP_API_ID with your own
facebookClient.authorize(this, new String[] { "publish_stream",
"read_stream", "offline_access","email" }, this);
}
Hey guys
I am able to login the user to its facebook account and post a content on his profile.
But what i am not able to do is get facebook users information.
I dont know where is the access token which if given by facebook for a session.
I am using fbConnect.jar and adding it in my lib folder and build path
Following is the code i am using :-
private Facebook facebookClient;
String information;
Button fb;
//** Called when the activity is first created. *//*
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
fb = (Button)findViewById(R.id.fb);
fb.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
whenFbPressed();
}
});
}
@Override
public void onCancel() {
// TODO Auto-generated method stub
}
@Override
public void onComplete(Bundle values) {
// TODO Auto-generated method stub
if (values.isEmpty()) {
return;
}
if (!values.containsKey("post_id")) {
try {
Bundle parameters = new Bundle();
parameters
.putString("message", "is Listening to " );// the
parameters.putString("attachment",
"{\"name\":\"My Test Image\"," + "\"href\":\"" +
"http://www.google.com" + "\"," +
"\"media\":[{\"type\":\"image\",\"src\":\"" +
"http://www.google.com/logos/mucha10-hp.jpg" +
"\",\"href\":\"" + "http://www.google.com" + "\"}]" + "}");
parameters.putString("attachment", "{\"name\":\"" + "Abhishek"
+ "\"," + "\"href\":\"" + "www.google.com" + "\"}]" + "}");
facebookClient.dialog(this, "stream.publish", parameters, this);
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
}
@Override
public void onError(DialogError e) {
// TODO Auto-generated method stub
System.out.println("Error: " + e.getMessage());
}
@Override
public void onFacebookError(FacebookError e) {
// TODO Auto-generated method stub
System.out.println("Error: " + e.getMessage());
}
public void onClick(View v) {
if (v == fb) {
facebookClient = new Facebook("App_ID");
// facebookClient = new Facebook("App_ID");
// replace APP_API_ID with your own
facebookClient.authorize(this, new String[] { "publish_stream",
"read_stream", "offline_access" }, this);
}
}
public void whenFbPressed(){
facebookClient = new Facebook("App_ID");
// facebookClient = new Facebook("App_ID");
// replace APP_API_ID with your own
facebookClient.authorize(this, new String[] { "publish_stream",
"read_stream", "offline_access","email" }, this);
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
好吧,我明白了。
当用户注册应用程序并允许给定权限时,Facebook 会发送访问令牌。
因此,在我的
onComplete()
方法中,我添加了这段代码:并在我的日志中提供了数据。
Well i got it.
Facebook sends the access token when the user registers the application and allows the given permissions.
So in my
onComplete()
method i added this peice of code :and in my log it gives me data.