2012-03-25 16 views
0

Hy!AndroidでのFacebookの投稿更新が失敗しました

私はeasyfacebookandroidsdk(http://www.easyfacebookandroidsdk.com/guide.asp)を使ってFacebookにステータスを投稿しています。

私はFBアプリケーションを作成し、私のAndroid Key Hashに入った。

マイコード:

public class FBConnect extends GDActivity implements LoginListener{ 

    private FBLoginManager fbManager; 

    //replace it with your own Facebook App ID 
    String title = "Herr der Ringe"; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     //setContentView(R.layout.main); 
     setTitle("Facebook"); 
     //Bundle extras = getIntent().getExtras(); 
     //title=extras.getString("title"); 
    shareFacebook(); 
    } 
    public void shareFacebook() { 

      //change the permissions according to the function you want to use 
        String permissions[] = { "read_stream","publish_actions" }; 

        //change the parameters with those of your application 
        fbManager = new FBLoginManager(this, R.layout.main, 
            "xxxxxxxxx", permissions); 

        if (fbManager.existsSavedFacebook()) { 
          fbManager.loadFacebook(); 
        } else { 

          fbManager.login(); 
        } 
      } 

      @Override 
      protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
        fbManager.loginSuccess(data); 
      } 

      public void loginFail() { 
        fbManager.displayToast("Login failed!"); 

      } 

      public void logoutSuccess() { 
        fbManager.displayToast("Logout success!"); 
      } 

      public void loginSuccess(Facebook facebook) { 

        //library use example 
        RestApi rest = new RestApi(facebook); 
        try { 

         rest.setStatus("I just watched "+title+" and marked it in TVBrain for Android"); 
         Log.e("XXX FB","OK"); 
        } catch (EasyFacebookError e1) { 
         // TODO Auto-generated catch block 
         Log.e("XXX FB","ERROR"); 
         e1.printStackTrace(); 
        } 



      } 



} 

エラー:

03-25 23:36:42.358: W/Bundle(931): Key status expected byte[] but value was a java.lang.String. The default value <null> was returned. 
03-25 23:36:42.365: W/Bundle(931): Attempt to cast generated internal exception: 
03-25 23:36:42.365: W/Bundle(931): java.lang.ClassCastException: java.lang.String cannot be cast to byte[] 
03-25 23:36:42.365: W/Bundle(931): at android.os.Bundle.getByteArray(Bundle.java:1363) 
03-25 23:36:42.365: W/Bundle(931): at com.easy.facebook.android.util.Util.openUrl(Util.java:157) 
03-25 23:36:42.365: W/Bundle(931): at com.easy.facebook.android.apicall.RestApi.setStatusCall(RestApi.java:119) 
03-25 23:36:42.365: W/Bundle(931): at com.easy.facebook.android.apicall.RestApi.setStatus(RestApi.java:100) 
03-25 23:36:42.365: W/Bundle(931): at com.korn.tvbrain.overview.FBConnect.loginSuccess(FBConnect.java:72) 
03-25 23:36:42.365: W/Bundle(931): at com.easy.facebook.android.facebook.LoggedInThread$1.handleMessage(LoggedInThread.java:33) 
03-25 23:36:42.365: W/Bundle(931): at android.os.Handler.dispatchMessage(Handler.java:99) 
03-25 23:36:42.365: W/Bundle(931): at android.os.Looper.loop(Looper.java:137) 
03-25 23:36:42.365: W/Bundle(931): at android.app.ActivityThread.main(ActivityThread.java:4424) 
03-25 23:36:42.365: W/Bundle(931): at java.lang.reflect.Method.invokeNative(Native Method) 
03-25 23:36:42.365: W/Bundle(931): at java.lang.reflect.Method.invoke(Method.java:511) 
03-25 23:36:42.365: W/Bundle(931): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) 
03-25 23:36:42.365: W/Bundle(931): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 
03-25 23:36:42.365: W/Bundle(931): at dalvik.system.NativeStart.main(Native Method) 
03-25 23:36:42.365: W/Bundle(931): Key access_token expected byte[] but value was a java.lang.String. The default value <null> was returned. 
03-25 23:36:42.369: W/Bundle(931): Attempt to cast generated internal exception: 
03-25 23:36:42.369: W/Bundle(931): java.lang.ClassCastException: java.lang.String cannot be cast to byte[] 
03-25 23:36:42.369: W/Bundle(931): at android.os.Bundle.getByteArray(Bundle.java:1363) 
03-25 23:36:42.369: W/Bundle(931): at com.easy.facebook.android.util.Util.openUrl(Util.java:157) 
03-25 23:36:42.369: W/Bundle(931): at com.easy.facebook.android.apicall.RestApi.setStatusCall(RestApi.java:119) 
03-25 23:36:42.369: W/Bundle(931): at com.easy.facebook.android.apicall.RestApi.setStatus(RestApi.java:100) 
03-25 23:36:42.369: W/Bundle(931): at com.korn.tvbrain.overview.FBConnect.loginSuccess(FBConnect.java:72) 
03-25 23:36:42.369: W/Bundle(931): at com.easy.facebook.android.facebook.LoggedInThread$1.handleMessage(LoggedInThread.java:33) 
03-25 23:36:42.369: W/Bundle(931): at android.os.Handler.dispatchMessage(Handler.java:99) 
03-25 23:36:42.369: W/Bundle(931): at android.os.Looper.loop(Looper.java:137) 
03-25 23:36:42.369: W/Bundle(931): at android.app.ActivityThread.main(ActivityThread.java:4424) 
03-25 23:36:42.369: W/Bundle(931): at java.lang.reflect.Method.invokeNative(Native Method) 
03-25 23:36:42.369: W/Bundle(931): at java.lang.reflect.Method.invoke(Method.java:511) 
03-25 23:36:42.369: W/Bundle(931): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) 
03-25 23:36:42.369: W/Bundle(931): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 
03-25 23:36:42.369: W/Bundle(931): at dalvik.system.NativeStart.main(Native Method) 
03-25 23:36:42.369: W/Bundle(931): Key method expected byte[] but value was a java.lang.String. The default value <null> was returned. 
03-25 23:36:42.373: W/Bundle(931): Attempt to cast generated internal exception: 
03-25 23:36:42.373: W/Bundle(931): java.lang.ClassCastException: java.lang.String cannot be cast to byte[] 
03-25 23:36:42.373: W/Bundle(931): at android.os.Bundle.getByteArray(Bundle.java:1363) 
03-25 23:36:42.373: W/Bundle(931): at com.easy.facebook.android.util.Util.openUrl(Util.java:157) 
03-25 23:36:42.373: W/Bundle(931): at com.easy.facebook.android.apicall.RestApi.setStatusCall(RestApi.java:119) 
03-25 23:36:42.373: W/Bundle(931): at com.easy.facebook.android.apicall.RestApi.setStatus(RestApi.java:100) 
03-25 23:36:42.373: W/Bundle(931): at com.korn.tvbrain.overview.FBConnect.loginSuccess(FBConnect.java:72) 
03-25 23:36:42.373: W/Bundle(931): at com.easy.facebook.android.facebook.LoggedInThread$1.handleMessage(LoggedInThread.java:33) 
03-25 23:36:42.373: W/Bundle(931): at android.os.Handler.dispatchMessage(Handler.java:99) 
03-25 23:36:42.373: W/Bundle(931): at android.os.Looper.loop(Looper.java:137) 
03-25 23:36:42.373: W/Bundle(931): at android.app.ActivityThread.main(ActivityThread.java:4424) 
03-25 23:36:42.373: W/Bundle(931): at java.lang.reflect.Method.invokeNative(Native Method) 
03-25 23:36:42.373: W/Bundle(931): at java.lang.reflect.Method.invoke(Method.java:511) 
03-25 23:36:42.373: W/Bundle(931): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) 
03-25 23:36:42.373: W/Bundle(931): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 
03-25 23:36:42.373: W/Bundle(931): at dalvik.system.NativeStart.main(Native Method) 
03-25 23:36:42.377: W/Bundle(931): Key format expected byte[] but value was a java.lang.String. The default value <null> was returned. 
03-25 23:36:42.381: W/Bundle(931): Attempt to cast generated internal exception: 
03-25 23:36:42.381: W/Bundle(931): java.lang.ClassCastException: java.lang.String cannot be cast to byte[] 
03-25 23:36:42.381: W/Bundle(931): at android.os.Bundle.getByteArray(Bundle.java:1363) 
03-25 23:36:42.381: W/Bundle(931): at com.easy.facebook.android.util.Util.openUrl(Util.java:157) 
03-25 23:36:42.381: W/Bundle(931): at com.easy.facebook.android.apicall.RestApi.setStatusCall(RestApi.java:119) 
03-25 23:36:42.381: W/Bundle(931): at com.easy.facebook.android.apicall.RestApi.setStatus(RestApi.java:100) 
03-25 23:36:42.381: W/Bundle(931): at com.korn.tvbrain.overview.FBConnect.loginSuccess(FBConnect.java:72) 
03-25 23:36:42.381: W/Bundle(931): at com.easy.facebook.android.facebook.LoggedInThread$1.handleMessage(LoggedInThread.java:33) 
03-25 23:36:42.381: W/Bundle(931): at android.os.Handler.dispatchMessage(Handler.java:99) 
03-25 23:36:42.381: W/Bundle(931): at android.os.Looper.loop(Looper.java:137) 
03-25 23:36:42.381: W/Bundle(931): at android.app.ActivityThread.main(ActivityThread.java:4424) 
03-25 23:36:42.381: W/Bundle(931): at java.lang.reflect.Method.invokeNative(Native Method) 
03-25 23:36:42.381: W/Bundle(931): at java.lang.reflect.Method.invoke(Method.java:511) 
03-25 23:36:42.381: W/Bundle(931): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) 
03-25 23:36:42.381: W/Bundle(931): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 
03-25 23:36:42.381: W/Bundle(931): at dalvik.system.NativeStart.main(Native Method) 
03-25 23:36:43.740: W/Bundle(931): Key status expected byte[] but value was a java.lang.String. The default value <null> was returned. 
03-25 23:36:43.744: W/Bundle(931): Attempt to cast generated internal exception: 
03-25 23:36:43.744: W/Bundle(931): java.lang.ClassCastException: java.lang.String cannot be cast to byte[] 
03-25 23:36:43.744: W/Bundle(931): at android.os.Bundle.getByteArray(Bundle.java:1363) 
03-25 23:36:43.744: W/Bundle(931): at com.easy.facebook.android.util.Util.encodePostBody(Util.java:65) 
03-25 23:36:43.744: W/Bundle(931): at com.easy.facebook.android.util.Util.openUrl(Util.java:184) 
03-25 23:36:43.744: W/Bundle(931): at com.easy.facebook.android.apicall.RestApi.setStatusCall(RestApi.java:119) 
03-25 23:36:43.744: W/Bundle(931): at com.easy.facebook.android.apicall.RestApi.setStatus(RestApi.java:100) 
03-25 23:36:43.744: W/Bundle(931): at com.korn.tvbrain.overview.FBConnect.loginSuccess(FBConnect.java:72) 
03-25 23:36:43.744: W/Bundle(931): at com.easy.facebook.android.facebook.LoggedInThread$1.handleMessage(LoggedInThread.java:33) 
03-25 23:36:43.744: W/Bundle(931): at android.os.Handler.dispatchMessage(Handler.java:99) 
03-25 23:36:43.744: W/Bundle(931): at android.os.Looper.loop(Looper.java:137) 
03-25 23:36:43.744: W/Bundle(931): at android.app.ActivityThread.main(ActivityThread.java:4424) 
03-25 23:36:43.744: W/Bundle(931): at java.lang.reflect.Method.invokeNative(Native Method) 
03-25 23:36:43.744: W/Bundle(931): at java.lang.reflect.Method.invoke(Method.java:511) 
03-25 23:36:43.744: W/Bundle(931): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) 
03-25 23:36:43.744: W/Bundle(931): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 
03-25 23:36:43.744: W/Bundle(931): at dalvik.system.NativeStart.main(Native Method) 
03-25 23:36:43.744: W/Bundle(931): Key access_token expected byte[] but value was a java.lang.String. The default value <null> was returned. 
03-25 23:36:43.748: W/Bundle(931): Attempt to cast generated internal exception: 
03-25 23:36:43.748: W/Bundle(931): java.lang.ClassCastException: java.lang.String cannot be cast to byte[] 
03-25 23:36:43.748: W/Bundle(931): at android.os.Bundle.getByteArray(Bundle.java:1363) 
03-25 23:36:43.748: W/Bundle(931): at com.easy.facebook.android.util.Util.encodePostBody(Util.java:65) 
03-25 23:36:43.748: W/Bundle(931): at com.easy.facebook.android.util.Util.openUrl(Util.java:184) 
03-25 23:36:43.748: W/Bundle(931): at com.easy.facebook.android.apicall.RestApi.setStatusCall(RestApi.java:119) 
03-25 23:36:43.748: W/Bundle(931): at com.easy.facebook.android.apicall.RestApi.setStatus(RestApi.java:100) 
03-25 23:36:43.748: W/Bundle(931): at com.korn.tvbrain.overview.FBConnect.loginSuccess(FBConnect.java:72) 
03-25 23:36:43.748: W/Bundle(931): at com.easy.facebook.android.facebook.LoggedInThread$1.handleMessage(LoggedInThread.java:33) 
03-25 23:36:43.748: W/Bundle(931): at android.os.Handler.dispatchMessage(Handler.java:99) 
03-25 23:36:43.748: W/Bundle(931): at android.os.Looper.loop(Looper.java:137) 
03-25 23:36:43.748: W/Bundle(931): at android.app.ActivityThread.main(ActivityThread.java:4424) 
03-25 23:36:43.748: W/Bundle(931): at java.lang.reflect.Method.invokeNative(Native Method) 
03-25 23:36:43.748: W/Bundle(931): at java.lang.reflect.Method.invoke(Method.java:511) 
03-25 23:36:43.748: W/Bundle(931): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) 
03-25 23:36:43.748: W/Bundle(931): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 
03-25 23:36:43.748: W/Bundle(931): at dalvik.system.NativeStart.main(Native Method) 
03-25 23:36:43.748: W/Bundle(931): Key method expected byte[] but value was a java.lang.String. The default value <null> was returned. 
03-25 23:36:43.752: W/Bundle(931): Attempt to cast generated internal exception: 
03-25 23:36:43.752: W/Bundle(931): java.lang.ClassCastException: java.lang.String cannot be cast to byte[] 
03-25 23:36:43.752: W/Bundle(931): at android.os.Bundle.getByteArray(Bundle.java:1363) 
03-25 23:36:43.752: W/Bundle(931): at com.easy.facebook.android.util.Util.encodePostBody(Util.java:65) 
03-25 23:36:43.752: W/Bundle(931): at com.easy.facebook.android.util.Util.openUrl(Util.java:184) 
03-25 23:36:43.752: W/Bundle(931): at com.easy.facebook.android.apicall.RestApi.setStatusCall(RestApi.java:119) 
03-25 23:36:43.752: W/Bundle(931): at com.easy.facebook.android.apicall.RestApi.setStatus(RestApi.java:100) 
03-25 23:36:43.752: W/Bundle(931): at com.korn.tvbrain.overview.FBConnect.loginSuccess(FBConnect.java:72) 
03-25 23:36:43.752: W/Bundle(931): at com.easy.facebook.android.facebook.LoggedInThread$1.handleMessage(LoggedInThread.java:33) 
03-25 23:36:43.752: W/Bundle(931): at android.os.Handler.dispatchMessage(Handler.java:99) 
03-25 23:36:43.752: W/Bundle(931): at android.os.Looper.loop(Looper.java:137) 
03-25 23:36:43.752: W/Bundle(931): at android.app.ActivityThread.main(ActivityThread.java:4424) 
03-25 23:36:43.752: W/Bundle(931): at java.lang.reflect.Method.invokeNative(Native Method) 
03-25 23:36:43.752: W/Bundle(931): at java.lang.reflect.Method.invoke(Method.java:511) 
03-25 23:36:43.752: W/Bundle(931): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) 
03-25 23:36:43.752: W/Bundle(931): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 
03-25 23:36:43.752: W/Bundle(931): at dalvik.system.NativeStart.main(Native Method) 
03-25 23:36:43.752: W/Bundle(931): Key format expected byte[] but value was a java.lang.String. The default value <null> was returned. 
03-25 23:36:43.756: W/Bundle(931): Attempt to cast generated internal exception: 
03-25 23:36:43.756: W/Bundle(931): java.lang.ClassCastException: java.lang.String cannot be cast to byte[] 
03-25 23:36:43.756: W/Bundle(931): at android.os.Bundle.getByteArray(Bundle.java:1363) 
03-25 23:36:43.756: W/Bundle(931): at com.easy.facebook.android.util.Util.encodePostBody(Util.java:65) 
03-25 23:36:43.756: W/Bundle(931): at com.easy.facebook.android.util.Util.openUrl(Util.java:184) 
03-25 23:36:43.756: W/Bundle(931): at com.easy.facebook.android.apicall.RestApi.setStatusCall(RestApi.java:119) 
03-25 23:36:43.756: W/Bundle(931): at com.easy.facebook.android.apicall.RestApi.setStatus(RestApi.java:100) 
03-25 23:36:43.756: W/Bundle(931): at com.korn.tvbrain.overview.FBConnect.loginSuccess(FBConnect.java:72) 
03-25 23:36:43.756: W/Bundle(931): at com.easy.facebook.android.facebook.LoggedInThread$1.handleMessage(LoggedInThread.java:33) 
03-25 23:36:43.756: W/Bundle(931): at android.os.Handler.dispatchMessage(Handler.java:99) 
03-25 23:36:43.756: W/Bundle(931): at android.os.Looper.loop(Looper.java:137) 
03-25 23:36:43.756: W/Bundle(931): at android.app.ActivityThread.main(ActivityThread.java:4424) 
03-25 23:36:43.756: W/Bundle(931): at java.lang.reflect.Method.invokeNative(Native Method) 
03-25 23:36:43.756: W/Bundle(931): at java.lang.reflect.Method.invoke(Method.java:511) 
03-25 23:36:43.756: W/Bundle(931): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) 
03-25 23:36:43.756: W/Bundle(931): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 
03-25 23:36:43.756: W/Bundle(931): at dalvik.system.NativeStart.main(Native Method) 

ませアップデートがログインfacebookで表示されません。 助けてください。

答えて

1

ええと、スタックトレースは、文字列をbyte []に​​キャストしようとしていると言います。

Facebook APIを使用しているため、どこに起こっているのか分かりにくいです。

コード内のコールを見つけるまで、スタックトレースに従います。それから始めてください。

私はそれがFacebook APIの Util.openUrl()にあると言います。これはbyte []を予期していますか?Stringを渡していますか?

+0

公式のFacebookのAPIにも、同じ脆弱性やそれに類するものがいくつか存在します。 easyfacebookandroidはAndroid向けの公式FB SDKではありませんが、論理的なエラーが似ている可能性があるため、Facebookの公式SDKを扱うStackOverflowのいくつかの記事を見る価値があるかもしれません。 – scriptocalypse

関連する問題