2014-04-18 102 views
0

我正在使用Android Facebook SDK 3.8。我試圖在朋友的牆上張貼文字。即使沒有錯誤(我收到後ID),我看不到我的朋友的牆上張貼。我嘗試了WebDialog,facebook.dialog,但沒有運氣。當我在牆上發佈內容時,所有的工作都很好。使用Android Facebook API無法在朋友的牆上看到我的貼子3.8

這是代碼。

btnPostToWall.setOnClickListener(new View.OnClickListener() { 

@SuppressLint("SimpleDateFormat") 
@SuppressWarnings("deprecation") 
@Override 
public void onClick(View v) { 

    try{ 
     mSession.requestNewPublishPermissions(new Session.NewPermissionsRequest(mActivity, "publish_actions", "publish_stream")); 

     String fqlQuery = "SELECT uid,first_name,last_name FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me()) ORDER BY last_name ASC"; 

     Bundle params = new Bundle();        
     params.putString("format", "json"); 
     params.putString("q", fqlQuery); 
     params.putString("access_token", mSession.getAccessToken()); 

     Request request = new Request(mSession, "/fql", 
       params, HttpMethod.GET, 
       new Request.Callback() { 
        public void onCompleted(
          Response response) { 

         GraphObject go = response.getGraphObject(); 
         JSONObject jso = go.getInnerJSONObject(); 

          try { 

           JSONArray arr = jso.getJSONArray("data"); 

           for (int i = 0; i < (arr.length()); i++) 
           { 
            JSONObject json_obj = arr.getJSONObject(i); 

            String name = json_obj.getString("first_name"); 
            if(name.contains("Shivanka")){ 


             String uid = json_obj.getString("uid"); 

             Facebook facebook=new Facebook("************"); 
             Bundle parameters = new Bundle(); 

             parameters.putString("to", uid); 

             facebook.dialog(mActivity,"feed",parameters,new DialogListener() { 

              @Override 
              public void onComplete(Bundle values) { 
               final String postId = values.getString("post_id"); 
               if (postId != null) { 
                Toast.makeText(mActivity, 
                 "Posted story, id: "+postId, 
                 Toast.LENGTH_SHORT).show(); 
               } else { 
                // User clicked the Cancel button 
                Toast.makeText(mActivity.getApplicationContext(), 
                 "Publish cancelled", 
                 Toast.LENGTH_SHORT).show(); 
               } 
              } 

              @Override 
              public void onCancel() { 
              //Display your message on dialog cancel 

              } 

              @Override 
              public void onFacebookError(
                FacebookError e) { 
               Toast.makeText(mActivity.getApplicationContext(), 
                 e.getMessage(), 
                 Toast.LENGTH_SHORT).show(); 

              } 

              @Override 
              public void onError(
                DialogError e) { 
               Toast.makeText(mActivity.getApplicationContext(), 
                 e.getMessage(), 
                 Toast.LENGTH_SHORT).show(); 

              } 
             }); 

            } 

           } 

         } catch (JSONException e) { 
          // TODO Auto-generated catch block 
          e.printStackTrace(); 
         } 
        } 
       }); 
     Request.executeBatchAsync(request); 


    }catch(Exception e){ 
     Toast.makeText(mActivity, 
       "Eexception : " + e.getLocalizedMessage(), 
       Toast.LENGTH_SHORT).show(); 
    } 

} 

});

回答

1

你的應用程序必須仍然在發展模式這是該職位不給其他用戶,因爲它們不是應用程序開發者/管理員/測試的原因。

您可以在應用程序設置 -

enter image description here

+0

大,有這個在我的腦海改變你的應用程序的模式現場,但找不到任何關於這個正確的信息。謝謝.. – Rakhita

相關問題