2016-04-12 15 views
3

私は現在、私が参加している組織のために作成したFBページからイベントイメージを取得しようとしています。 graph.facebook.com/{event-id}/pictureを呼び出すと、私は不自然に小さな50x50イメージを取得します。しかし、ドキュメントには、 'type' arg(https://developers.facebook.com/docs/graph-api/reference/event/picture/)のサイズがいくつか記載されています。大きなタイプを指定すると、200x200ピクセルの画像が得られます。Facebook Graph API - イベントの大きな画像?

'height'と 'width'フィールドがありますが、height:400とwidth:350など200pxより大きなものを指定すると、200x200の画像が返されます。以前のSOスレッドからはこれは問題のようには見えなかったようですので、誰かがこの問題に遭遇したのかどうか聞いてみたいと思います。

注:私はコアラの宝石(https://github.com/arsduo/koala)を使用してAPIとのやりとりを行っていますが、直接のブラウザ呼び出しは同じ結果を返しています。

答えて

4

表紙画像のAPIがあります。あなたは、イベントピクチャドキュメントは少なくともそれを言及するだろうと思うだろう..しかし、それは事実ではない。

表紙のAPI: https://developers.facebook.com/docs/graph-api/reference/cover-photo/

これは私の仕事:

String eventCoverImage = "/v2.8/" + eventId; 

Bundle params = new Bundle(); 
params.putBoolean("redirect", false); 
params.putString("fields", "cover"); 
new GraphRequest(
     AccessToken.getCurrentAccessToken(), 
     eventCoverImage, 
     params, 
     HttpMethod.GET, 
     new GraphRequest.Callback() { 
      public void onCompleted(final GraphResponse response) { 

       // thread is necessary for network call 
       Thread thread = new Thread(new Runnable() { 
        @Override 
        public void run() { 

         try { 
          String picUrlString = (String) response.getJSONObject().getJSONObject("cover").get("source"); 
          URL imgValue = new URL(picUrlString); 
          Bitmap eventBitmap = BitmapFactory.decodeStream(imgValue.openConnection().getInputStream()); 
         } catch (Exception ex) { 
          ex.printStackTrace(); 
         } 
        } 
       }); 
       thread.start(); 
      } 

     } 
).executeAsync(); 

また、これは、API https://developers.facebook.com/tools/explorer

で/フィギュアの事を試して助けになることができます
関連する問題