Facebook错误:应用程序ID无效

时间:2012-06-11 06:22:51

标签: android facebook facebook-android-sdk

嘿,虽然应用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 

    } 
} 

1 个答案:

答案 0 :(得分:3)

我解决了这个问题。

问题是我创建了2个Facebook对象的实例,一个是全局的,一个是在方法中执行上面提到的代码,所以发生的事情是我从未授权过我尝试过的请求。

由于某种原因,错误没有说明,但如果发生这种情况,请确保已初始化正确的对象并且它具有有效的会话