嘿大家剛剛開發我的第一個Android應用程序登錄到Facebook,並嘗試狀態更新沒有對話框,使用圖形API。 下面的代碼是授權碼(這是在fbook dev網站本身),它一直工作得很好,直到最近。現在我的應用程序可以在我的模擬器上正常登錄,但是當我導出APK文件並將其放在手機上時,它會給我'認證錯誤'。有人可以解釋嗎?它只是不會再顯示登錄頁面,創建後一個新的keystore和hashkey AND像往常一樣更新Facebook上我的開發應用程序頁面上的hashkeyFacebook身份驗證工作在模擬器上,但不是在物理設備
我認爲這是由於keyhash等,但我不明白這一點足以找出什麼是錯誤的。我點擊導出,應用程序,然後創建一個新的密鑰庫(第一次,否則我使用現有的密鑰庫),然後在fbook dev網站上找到使用「keytool exportcert」等的hashkey,然後將該密鑰輸入到應用程序在我的Facebook帳戶上,但有時即使密鑰庫密碼是正確的,它說「密鑰庫格式」是不同的,即使我在同一個應用程序之前使用它!然後我必須創建一個新的密鑰庫,再次ortcert,所有這些都是痛苦!必須有一個更簡單的方法?
有人可以解釋一下Facebook應用程序的hashkey是如何工作的嗎?
提前致謝!
我驗證碼:
public void login()
{
facebook.authorize(this,new String[] { "email", "read_stream", "publish_stream"}, new DialogListener(){
int fbcheck=0;
@Override
public void onComplete(Bundle values) {
fbcheck=1;
facebookauthcheck(fbcheck);
}
@Override
public void onFacebookError(FacebookError error) {
fbcheck=0;
facebookauthcheck(fbcheck);
}
@Override
public void onError(DialogError e) {
fbcheck=0;
facebookauthcheck(fbcheck);
}
@Override
public void onCancel() {
fbcheck=2;
facebookauthcheck(fbcheck);
}
});
}
public void facebookauthcheck(int fbcheck)
{
if (fbcheck == 0) {
Toast.makeText(this, "Authentication Error", Toast.LENGTH_LONG).show();
}
else if (fbcheck==1)
{
Toast.makeText(this, "Authenticated", Toast.LENGTH_LONG).show();
}
else
Toast.makeText(this, "Authentication Cancelled", Toast.LENGTH_LONG).show();
}
感謝這個好解決,你救了我..,。 – user1690588 2012-11-03 05:21:16
U也救了我,像魔術一樣工作! – TharakaNirmana 2013-05-13 11:58:36