0
누군가의 벽에 게시하려면이 코드를 사용하십시오.Android로 벽에 게시하는 중 경고
try{
mPrefs = getPreferences(MODE_PRIVATE);
String access_token = mPrefs.getString("access_token", null);
long expires = mPrefs.getLong("access_expires", 0);
facebook = new Facebook(FB_APP_ID);
mAsyncRunner = new AsyncFacebookRunner(facebook);
if(access_token != null) {
Log.d("ACCESS TOKEN", "Access Token != null");
facebook.setAccessToken(access_token);
}
if(expires != 0) {
facebook.setAccessExpires(expires);
}
if(!facebook.isSessionValid()) {
synchronized(facebook){
facebook.authorize(FBWallWriterActivity.this, new String[] {"read_stream", "publish_stream", "offline_access", "user_birthday", "friends_birthday"},
new MyDialogListener());
}
}
synchronized (facebook) {
while(mPrefs.getString("access_token", null) == null){
facebook.wait();
}
String token = mPrefs.getString("access_token", null);
Bundle parameters = new Bundle();
JSONObject attachment = new JSONObject();
try {
attachment.put("message", "Messages");
}
catch (JSONException e) {
Log.e("FBWallWriterAct", "Error "+e.getMessage());
}
parameters.putString("message", wallMsg.getText().toString());
mAsyncRunner.request(uid+"/feed", parameters, "POST", new RequestListener(){
public void onComplete(String response, Object state) {
Log.d("text","facebook post complete");
}
public void onIOException(IOException e, Object state) {
Log.d("text","facebook post onIOException");
}
public void onFileNotFoundException(FileNotFoundException e, Object state) {
Log.d("text","facebook post onFileNotFoundException");
}
public void onMalformedURLException(MalformedURLException e, Object state) {
Log.d("text","facebook post onMalformedURLException");
}
public void onFacebookError(FacebookError e, Object state) {
Log.d("text","facebook post error");
}
}, null);
}
}
메시지를 게시하려고하면 여기에서 로그를 얻습니다.
11-16 15:59:26.289: W/Bundle(15907): <!>android.os.Bundle 775<!> Key message expected byte[] but value was a java.lang.String. The default value <null> was returned.
11-16 15:59:26.289: W/Bundle(15907): Attempt to cast generated internal exception:
11-16 15:59:26.289: W/Bundle(15907): java.lang.ClassCastException: java.lang.String
11-16 15:59:26.289: W/Bundle(15907): at android.os.Bundle.getByteArray(Bundle.java:1317)
11-16 15:59:26.289: W/Bundle(15907): at com.facebook.android.Util.openUrl(Util.java:155)
11-16 15:59:26.289: W/Bundle(15907): at com.facebook.android.Facebook.request(Facebook.java:563)
11-16 15:59:26.289: W/Bundle(15907): at com.facebook.android.AsyncFacebookRunner$2.run(AsyncFacebookRunner.java:253)
11-16 15:59:26.299: W/Bundle(15907): <!>android.os.Bundle 775<!> Key access_token expected byte[] but value was a java.lang.String. The default value <null> was returned.
11-16 15:59:26.299: W/Bundle(15907): Attempt to cast generated internal exception:
11-16 15:59:26.299: W/Bundle(15907): java.lang.ClassCastException: java.lang.String
11-16 15:59:26.299: W/Bundle(15907): at android.os.Bundle.getByteArray(Bundle.java:1317)
11-16 15:59:26.299: W/Bundle(15907): at com.facebook.android.Util.openUrl(Util.java:155)
11-16 15:59:26.299: W/Bundle(15907): at com.facebook.android.Facebook.request(Facebook.java:563)
11-16 15:59:26.299: W/Bundle(15907): at com.facebook.android.AsyncFacebookRunner$2.run(AsyncFacebookRunner.java:253)
11-16 15:59:26.299: W/Bundle(15907): <!>android.os.Bundle 775<!> Key format expected byte[] but value was a java.lang.String. The default value <null> was returned.
11-16 15:59:26.299: W/Bundle(15907): Attempt to cast generated internal exception:
11-16 15:59:26.299: W/Bundle(15907): java.lang.ClassCastException: java.lang.String
11-16 15:59:26.299: W/Bundle(15907): at android.os.Bundle.getByteArray(Bundle.java:1317)
11-16 15:59:26.299: W/Bundle(15907): at com.facebook.android.Util.openUrl(Util.java:155)
11-16 15:59:26.299: W/Bundle(15907): at com.facebook.android.Facebook.request(Facebook.java:563)
11-16 15:59:26.299: W/Bundle(15907): at com.facebook.android.AsyncFacebookRunner$2.run(AsyncFacebookRunner.java:253)
11-16 15:59:31.009: W/Bundle(15907): <!>android.os.Bundle 775<!> Key message expected byte[] but value was a java.lang.String. The default value <null> was returned.
11-16 15:59:31.009: W/Bundle(15907): Attempt to cast generated internal exception:
11-16 15:59:31.009: W/Bundle(15907): java.lang.ClassCastException: java.lang.String
11-16 15:59:31.009: W/Bundle(15907): at android.os.Bundle.getByteArray(Bundle.java:1317)
11-16 15:59:31.009: W/Bundle(15907): at com.facebook.android.Util.encodePostBody(Util.java:63)
11-16 15:59:31.009: W/Bundle(15907): at com.facebook.android.Util.openUrl(Util.java:182)
11-16 15:59:31.009: W/Bundle(15907): at com.facebook.android.Facebook.request(Facebook.java:563)
11-16 15:59:31.009: W/Bundle(15907): at com.facebook.android.AsyncFacebookRunner$2.run(AsyncFacebookRunner.java:253)
11-16 15:59:31.009: W/Bundle(15907): <!>android.os.Bundle 775<!> Key method expected byte[] but value was a java.lang.String. The default value <null> was returned.
11-16 15:59:31.009: W/Bundle(15907): Attempt to cast generated internal exception:
11-16 15:59:31.009: W/Bundle(15907): java.lang.ClassCastException: java.lang.String
11-16 15:59:31.009: W/Bundle(15907): at android.os.Bundle.getByteArray(Bundle.java:1317)
11-16 15:59:31.009: W/Bundle(15907): at com.facebook.android.Util.encodePostBody(Util.java:63)
11-16 15:59:31.009: W/Bundle(15907): at com.facebook.android.Util.openUrl(Util.java:182)
11-16 15:59:31.009: W/Bundle(15907): at com.facebook.android.Facebook.request(Facebook.java:563)
11-16 15:59:31.009: W/Bundle(15907): at com.facebook.android.AsyncFacebookRunner$2.run(AsyncFacebookRunner.java:253)
11-16 15:59:31.009: W/Bundle(15907): <!>android.os.Bundle 775<!> Key access_token expected byte[] but value was a java.lang.String. The default value <null> was returned.
11-16 15:59:31.009: W/Bundle(15907): Attempt to cast generated internal exception:
11-16 15:59:31.009: W/Bundle(15907): java.lang.ClassCastException: java.lang.String
11-16 15:59:31.009: W/Bundle(15907): at android.os.Bundle.getByteArray(Bundle.java:1317)
11-16 15:59:31.009: W/Bundle(15907): at com.facebook.android.Util.encodePostBody(Util.java:63)
11-16 15:59:31.009: W/Bundle(15907): at com.facebook.android.Util.openUrl(Util.java:182)
11-16 15:59:31.009: W/Bundle(15907): at com.facebook.android.Facebook.request(Facebook.java:563)
11-16 15:59:31.009: W/Bundle(15907): at com.facebook.android.AsyncFacebookRunner$2.run(AsyncFacebookRunner.java:253)
11-16 15:59:31.019: W/Bundle(15907): <!>android.os.Bundle 775<!> Key format expected byte[] but value was a java.lang.String. The default value <null> was returned.
11-16 15:59:31.019: W/Bundle(15907): Attempt to cast generated internal exception:
11-16 15:59:31.019: W/Bundle(15907): java.lang.ClassCastException: java.lang.String
11-16 15:59:31.019: W/Bundle(15907): at android.os.Bundle.getByteArray(Bundle.java:1317)
11-16 15:59:31.019: W/Bundle(15907): at com.facebook.android.Util.encodePostBody(Util.java:63)
11-16 15:59:31.019: W/Bundle(15907): at com.facebook.android.Util.openUrl(Util.java:182)
11-16 15:59:31.019: W/Bundle(15907): at com.facebook.android.Facebook.request(Facebook.java:563)
11-16 15:59:31.019: W/Bundle(15907): at com.facebook.android.AsyncFacebookRunner$2.run(AsyncFacebookRunner.java:253)
11-16 15:59:34.079: D/text(15907): <!>com.ozzem.mybirthday.FBWallWriterActivity$1$1 128<!> facebook post complete
은 보통입니까?
확인 ... 내가 \t \t \t \t \t \t parameters.putByteArray에게 '를 사용하려고했습니다 (.. "메시지", wallMsg.getText을의 toString()()를 getBytes()); ' 하지만 보낸 메시지는 비어 있으며 경고 메시지가 계속 나타납니다. –
그건 상대가 아닙니다. 토큰, 키 등의 매개 변수는 String이 아닌 byte []로 정의해야합니다. –
그래서 ... getBytes를 사용할 수없고 putByteArray를 통해 매개 변수를 전달할 수 있습니까? 이 경우 어떻게해야합니까? –