2012-09-05 9 views
8

私はFacebookのプライベートグループの管理者です。FacebookのAPIを使用してすべてのグループ投稿をスクラップしたいと思います。グループフィードの投稿には利用できないコンテンツがあります

グラフapiエクスプローラを使用して、read_stream、friends_group、およびuser_groups権限を持つアクセストークンを生成しました。

私はhttps://graph.facebook.com/GROUP_ID/feed?access_token=TOKENとグループのポストにアクセスすると、私は各ポストとのデータ配列を取得しますが、caption要素が値

を持っている「添付ファイルUnavailableThis添付ファイルが削除された可能性がありますか、それを共有した人が権限を持っていないかもしれませんそれをあなたと分かち合う」とリンク、メッセージなどの他のすべてのフィールドは存在しません。

ブラウザを使用してfacebookグループを開くと、すべての投稿が表示されます。

ここに何か不足していますか?

+0

あなたが管理しているプラ​​イベートグループですか?グループのユーザーが投稿した投稿を表示できませんか?もしそうなら、あなたがここにファイルしなければならないバグのように聞こえる - https://developers.facebook.com/bugs – deesarus

+0

投稿はjsonオブジェクトに存在しますが、そのコンテンツを取得できません。私は、問題は、投稿のタイプがステータスの場合、私にとって役に立たないキャプション以外の情報は得られないということです。実際には、「ステータス」のタイプは[Post](https://developers.facebook.com/docs/reference/api/post/)のドキュメントでさえありません – sergiofbsilva

+2

Facebookのバグの問題を作成しました。それを購読してreplayable.httpsとしてマークしてください://developers.facebook.com/bugs/382129358523494?browse = search_510934aadfa685a54627700 – sergiofbsilva

答えて

0

この問題は修正されているようです。有効な認証トークンを持っている限り、プライベートグループのすべてのグループコンテンツにアクセスできます。

0

以下は、JSONオブジェクトのグループの投稿を取得するコードです。このJSONオブジェクトには、「データ」のJSON配列が含まれています。 これには、メッセージ(または投稿のステータス)用に別のJSON配列が含まれています。

GraphRequest.newGraphPathRequest(
      accessToken, "/id/posts", 
      new GraphRequest.Callback() { 
       @Override 
       public void onCompleted(GraphResponse  graphResponse) { 

        try { 
graphResponse.getRawResponse(); 

         m=graphResponse.getJSONObject(); 
         JSONArray n=m.getJSONArray("data"); 
         messages=new String[n.length()]; 
         for(int i=0;i<n.length();i++) { 
          JSONObject a = n.getJSONObject(i); 
          messages[i]=a.optString("message"); 
         } 

         list.setAdapter(new ArrayAdapter<String> (fb.this,android.R.layout.simple_list_item_1,messages)); 

        } catch (Exception e) { 
         Toast.makeText(fb.this, "error is: " + e.toString(), Toast.LENGTH_LONG).show(); 
        } 
       } 
      }).executeAsync(); 
関連する問題