嘿,虽然应用ID是正确的,但我使用SDK会收到此错误。
现在,当我尝试授权应用程序时,它工作正常并授权它,但当我尝试发出请求时,facebook会返回此错误。我的应用程序已正确初始化,并且不在沙盒模式下。
我发现没有有关此问题的信息,是否有人知道会导致此问题的原因?
我正在尝试使用以下代码上传照片:
byte[] data = null;
Bitmap bi = BitmapFactory.decodeFile(photoToPost);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bi.compress(Bitmap.CompressFormat.JPEG, 100, baos);
data = baos.toByteArray();
Bundle params = new Bundle();
params.putString("method", "photos.upload");
params.putByteArray("picture", data);
AsyncFacebookRunner mAsyncRunner = new AsyncFacebookRunner(facebook);
mAsyncRunner.request(null, params, "POST", new SampleUploadListener(), null);
SampleUploadListener:
public class SampleUploadListener extends BaseRequestListener {
public void onComplete(final String response, final Object state) {
try {
// process the response here: (executed in background thread)
Log.d("Facebook-Example", "Response: " + response.toString());
JSONObject json = Util.parseJson(response);
final String src = json.getString("src");
// then post the processed result back to the UI thread
// if we do not do this, an runtime exception will be generated
// e.g. "CalledFromWrongThreadException: Only the original
// thread that created a view hierarchy can touch its views."
} catch (JSONException e) {
Log.w("Facebook-Example", "JSON Error in response");
} catch (FacebookError e) {
Log.w("Facebook-Example", "Facebook Error: " + e.getMessage());
}
}
@Override
public void onFacebookError(FacebookError e, Object state) {
// TODO Auto-generated method stub
}
}
答案 0 :(得分:3)
我解决了这个问题。
问题是我创建了2个Facebook对象的实例,一个是全局的,一个是在方法中执行上面提到的代码,所以发生的事情是我从未授权过我尝试过的请求。
由于某种原因,错误没有说明,但如果发生这种情况,请确保已初始化正确的对象并且它具有有效的会话