Android 应用程序无法连接到服务器
我的 Android 应用程序曾经能够通过 API 连接到 Facebook 服务器,但现在由于某种原因无法连接。我不断在我的日志中收到此消息 cat
D/Facebook-authorize(417): Login failed: com.facebook.android.DialogError: The connection to the server was failed.
我读过很多与此相关的堆栈溢出问题,但没有答案。我希望有人能帮助我解决这个问题。谢谢你!
这是我的一些代码,其中我的应用程序 ID 已被编辑掉
public class BreadcrumbsActivity extends Activity {
static Facebook facebook = new Facebook("*************");
String FILENAME = "AndroidSSO_data";
static SharedPreferences mPrefs;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
/*
* Get existing access_token if any
*/
mPrefs = getPreferences(MODE_PRIVATE);
String access_token = mPrefs.getString("access_token", null);
long expires = mPrefs.getLong("access_expires", 0);
if(access_token != null) {
facebook.setAccessToken(access_token);
}
if(expires != 0) {
facebook.setAccessExpires(expires);
}
/*
* Only call authorize if the access_token has expired.
*/
if(!facebook.isSessionValid()) {
facebook.authorize(this, new String[] {"user_likes", "user_photos", "email", "offline_access", "publish_actions"}, new DialogListener() {
@Override
public void onComplete(Bundle values) {
SharedPreferences.Editor editor = mPrefs.edit();
editor.putString("access_token", facebook.getAccessToken());
editor.putLong("access_expires", facebook.getAccessExpires());
editor.commit();
Toast.makeText(getApplicationContext(),
"Login Succesful.",
Toast.LENGTH_LONG).show();
Intent intent = new Intent(BreadcrumbsActivity.this, MainMenu.class);
BreadcrumbsActivity.this.startActivity(intent);
}
@Override
public void onFacebookError(FacebookError error) {
Toast.makeText(getApplicationContext(),
"Login Failed.",
Toast.LENGTH_LONG).show();
Intent intent = new Intent(BreadcrumbsActivity.this, MainMenu.class);
BreadcrumbsActivity.this.startActivity(intent);
}
@Override
public void onError(DialogError e) {}
@Override
public void onCancel() {}
});
}
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
facebook.authorizeCallback(requestCode, resultCode, data);
}
}
My android application used to be able to connect to the Facebook server via the API, but now it won't for some reason. I keep on getting this message in my log cat
D/Facebook-authorize(417): Login failed: com.facebook.android.DialogError: The connection to the server was unsuccessful.
Ive read many stack overflow questions regarding this, without answer. I am hoping someone can help me with this. Thank you!
Here is some of my code with my App ID edited out
public class BreadcrumbsActivity extends Activity {
static Facebook facebook = new Facebook("*************");
String FILENAME = "AndroidSSO_data";
static SharedPreferences mPrefs;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
/*
* Get existing access_token if any
*/
mPrefs = getPreferences(MODE_PRIVATE);
String access_token = mPrefs.getString("access_token", null);
long expires = mPrefs.getLong("access_expires", 0);
if(access_token != null) {
facebook.setAccessToken(access_token);
}
if(expires != 0) {
facebook.setAccessExpires(expires);
}
/*
* Only call authorize if the access_token has expired.
*/
if(!facebook.isSessionValid()) {
facebook.authorize(this, new String[] {"user_likes", "user_photos", "email", "offline_access", "publish_actions"}, new DialogListener() {
@Override
public void onComplete(Bundle values) {
SharedPreferences.Editor editor = mPrefs.edit();
editor.putString("access_token", facebook.getAccessToken());
editor.putLong("access_expires", facebook.getAccessExpires());
editor.commit();
Toast.makeText(getApplicationContext(),
"Login Succesful.",
Toast.LENGTH_LONG).show();
Intent intent = new Intent(BreadcrumbsActivity.this, MainMenu.class);
BreadcrumbsActivity.this.startActivity(intent);
}
@Override
public void onFacebookError(FacebookError error) {
Toast.makeText(getApplicationContext(),
"Login Failed.",
Toast.LENGTH_LONG).show();
Intent intent = new Intent(BreadcrumbsActivity.this, MainMenu.class);
BreadcrumbsActivity.this.startActivity(intent);
}
@Override
public void onError(DialogError e) {}
@Override
public void onCancel() {}
});
}
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
facebook.authorizeCallback(requestCode, resultCode, data);
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
错误 - 417 期望失败
Error- 417 Expectation Failed