title: Facebook 3.0 How to post wall?
body: <p>So the new facebook 3.0 <a href="https://developers.facebook.com/docs/howtos/androidsdk/3.0/publish-to-feed/" rel="nofollow">offers good guides for how to post on wall</a>. But what do you do when it doesn't fly?</p>
  
  <p>I get following response from facebook:</p>
  
  <pre><code>{Response:  responseCode: 400, graphObject: null, error: {HttpStatus: 400, errorCode: 100, errorType: OAuthException, errorMessage: (#100) Missing message or attachment}, isFromCache:false}
  </code></pre>
  
  <p>Here is my permission update:</p>
  
  <pre><code>                Session session = ParseFacebookUtils.getSession();
                  if(session != null) {
  
                      List&lt;String&gt; permissions = session.getPermissions();
                      if (!isSubsetOf(PERMISSIONS, permissions)) {
                          Session.NewPermissionsRequest newPermissionsRequest = new Session
                                  .NewPermissionsRequest(this, PERMISSIONS);
                          session.requestNewPublishPermissions(newPermissionsRequest);
                          return;
                      }
  
                      publishStory();
                  }
  </code></pre>
  
  <p>PERMISSIONS has following:</p>
  
  <pre><code>private static final List&lt;String&gt; PERMISSIONS = Arrays.asList("publish_actions");
  </code></pre>
  
  <p>Here is my publish code which very much (not completely) is copy paste from facebook:</p>
  
  <pre><code>private void publishStory() {
      Bundle postParams = new Bundle();
      postParams.putString("name", "Test");
      postParams.putString("caption", "Another Test");
      postParams.putString("description", mEdit.getText().toString());
  
      Request.Callback callback = new Request.Callback() {
          public void onCompleted(Response response) {
              JSONObject graphResponse = response
                                         .getGraphObject()
                                         .getInnerJSONObject(); //FIXME &lt;-- here we get the error
              String postId = null;
              try {
                  postId = graphResponse.getString("id");
              } catch (JSONException e) {
                  Log.i(GlobalValues.LOG_TAG,
                      "JSON error "+ e.getMessage());
              }
              FacebookRequestError error = response.getError();
              if (error != null) {
                  Toast.makeText(getActivity()
                       .getApplicationContext(),
                       error.getErrorMessage(),
                       Toast.LENGTH_SHORT).show();
                  } else {
                      Toast.makeText(getActivity()
                           .getApplicationContext(), 
                           postId,
                           Toast.LENGTH_LONG).show();
              }
          }
      };
  
      Request request = new Request(ParseFacebookUtils.getSession(), "me/feed", postParams, 
                            HttpMethod.POST, callback);
  
      RequestAsyncTask task = new RequestAsyncTask(request);
      task.execute();
  }
  </code></pre>
  
  <p>All help is greatly appreciated.</p>
  
  <p><strong>Edit</strong>:</p>
  
  <p>Here is a list of my permissions at request time:</p>
  
  <pre><code>[status_update, photo_upload, video_upload, create_note, share_item, publish_stream, publish_actions, basic_info]
  </code></pre>