[英]Login using facebook android
我正在用Facebook創建登錄名。 用戶使用facebook登錄僅1次,我需要獲取它的facebook userID。
有我正在使用的代碼:
// Login with facebook
public void loginFB(View view) {
System.out.println("started");
facebook = new Facebook(kAppId);
facebook.authorize(this, new DialogListener() {
@Override
public void onComplete(Bundle values) {
System.out.println("onComplete");
new Thread(new Runnable() {
public void run() {
JSONObject me = null;
try {
me = new JSONObject(facebook.request("me"));
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
System.out.println("Login with fb");
//here i should get it's user id
String id = me.getString("id");
System.out.println("id = " + id);
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}).start();
}
@Override
public void onFacebookError(FacebookError error) {
error.getMessage();
System.out.println("onFacebookError");
}
@Override
public void onError(DialogError e) {
e.getMessage();
System.out.println("DialogError");
}
@Override
public void onCancel() {
System.out.println("onCancel");
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
facebook.authorizeCallback(requestCode, resultCode, data);
}
所以我在回調到此方法時遇到異常:
@Override
public void onError(DialogError e) {
e.getMessage();
System.out.println("DialogError");
}
和例外:
com.facebook.android.DialogError: The connection to the server timed out.
所以我應該在代碼中更改某些內容,否則會有其他問題?
基本上,我需要用戶在下載應用程序時僅登錄一次,並且我需要獲取他的用戶ID。
謝謝。
編輯:
我已經添加了對互聯網的許可。 所以問題出在我的互聯網上。 Facebook無法訪問。
現在的問題是:在這一行中:
String id = me.getString("id");
我返回null。
您是否修改了AndroidManifest.xml
以允許該應用訪問互聯網?
<uses-permission android:name="android.permission.INTERNET"/>
http://developers.facebook.com/docs/mobile/android/build/#xml
在JSONObject中,您需要執行以下操作:
JSONObject me = Util.parseJson((facebook.request("me"));
/me
將返回一個JSON對象
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.