私のFacebookのウォール投稿とチェックインは先週まで機能していました...今は機能しなくなりました。それは本当に奇妙です...私はそれを引き起こしているのかわかりません。
Facebookに正常にログインできます。Facebookのプロフィール写真を受け取ることができるので、それは証明されています。
クラス拡張アクティビティの先頭で、次のフィールドを指定しました。
private static final String APP_ID = "286529654765268";
private static final String[] PERMISSIONS = {"publish_stream", "publish_actions", "publish_checkins", "create_event"};
private static final String TOKEN = "access_token";
private static final String EXPIRES = "expires_in";
private static final String KEY = "facebook-credentials";
private Facebook facebook = new Facebook(APP_ID);
私はクラス全体でFacebookオブジェクトを使用しています。
これが私がメッセージを投稿する方法です:
defaultMessage = edittext.getText().toString();
String response = null;
try{
SharedPreferences sharedPreferences = getApplicationContext().getSharedPreferences("settings", 0);
String imageUrl = "www.somesite.com/somejpg.jpg";
Bundle params = new Bundle();
params.putString(Facebook.TOKEN, facebook.getAccessToken());
params.putString("caption", defaultMessage);
params.putString("description", "a description");
params.putString("picture", imageUrl);
params.putString("name", "A Name");
//
response = facebook.request("me/feed", params, "POST");
facebook.request("me/feed", params, "POST");
} catch(Exception e){
e.getStackTrace();
}
if(response != "false" || response != null){
Toast.makeText(getApplicationContext(), "Status Updated Successfully!", Toast.LENGTH_LONG).show();
Log.e("facebook response", response);
}
onCreateを承認します。これが私がそれをするところです:
public void facebookAuthorize(){
facebook.authorize(this, PERMISSIONS, Facebook.FORCE_DIALOG_AUTH, new DialogListener() {
@Override
public void onComplete(Bundle values) {
String me = null;
String id = null;
try {
me = facebook.request("me");
} catch (MalformedURLException e2) {
// TODO Auto-generated catch block
e2.printStackTrace();
} catch (IOException e2) {
// TODO Auto-generated catch block
e2.printStackTrace();
}
JSONObject json_id = null;
try {
json_id = new JSONObject(me);
} catch (org.json.JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
id = json_id.getString("id");
} catch (org.json.JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Log.e("Id", id);
URL img_value = null;
try {
img_value = new URL("http://graph.facebook.com/"+id+"/picture?type=large");
} catch (MalformedURLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
Bitmap mIcon1 = null;
try {
mIcon1 = BitmapFactory.decodeStream(img_value.openConnection().getInputStream());
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
if(mIcon1 != null){
badge.setImageBitmap(mIcon1);
}
Toast.makeText(getApplicationContext(), "Successfully logged in!", Toast.LENGTH_LONG).show();
}
@Override
public void onFacebookError(FacebookError error) {}
@Override
public void onCancel() {}
@Override
public void onError(com.facebook.android.DialogError e) {
// TODO Auto-generated method stub
}
});
if(restore(facebook, getApplicationContext())){
//authorize the user.
facebook.authorize(this, PERMISSIONS, Facebook.FORCE_DIALOG_AUTH, new DialogListener() {
@Override
public void onComplete(Bundle values) {
Toast.makeText(getApplicationContext(), "Successfully Logged In to facebook!", Toast.LENGTH_LONG).show();
}
@Override
public void onCancel() {}
@Override
public void onFacebookError(com.facebook.android.FacebookError e) {
e.printStackTrace();
if(facebook.isSessionValid()){
Toast.makeText(getApplicationContext(), "Successfully Logged in to Facebook!", Toast.LENGTH_LONG).show();
// download the users avatar
}
else{
Log.e("FACEBOOK FAIL", "Facebook has epicly failed with an error in onCreate in Social Sharing or you are logged in already");
}
}
@Override
public void onError(com.facebook.android.DialogError e) {
// TODO Auto-generated method stub
}
});
} else { save(facebook, getApplicationContext()); }
}
エラーは発生しません。動作しているように見えますが、壁には表示されません。
投稿IDもFacebookの応答を受け取ります...アプリケーションは私のプロファイルへの投稿をブロックされていません。
私は私の知恵の終わりに問題を理解しようとしています。どんな助けでも素晴らしいでしょう!