Facebook Graph API - 来自事件的大图像?

时间:2016-04-12 01:54:31

标签: facebook facebook-graph-api koala

所以我目前正在尝试从我为我所属的组织创建的FB页面中检索事件图像。当打电话给graph.facebook.com/{event-id}/picture时,我得到一个荒谬的小50x50图像。但是,文档列出了'type'arg(https://developers.facebook.com/docs/graph-api/reference/event/picture/)的一些大小。当我指定一个大型,我得到一个200x200px图像。

有'height'和'width'字段,但如果我指定大于200px的任何内容,例如height:400和width:350,我会返回200x200 pic。从以前的SO线程来看,这似乎不是一个问题,所以我有兴趣听听是否有其他人遇到过这个问题。

注意:我正在使用Koala gem(https://github.com/arsduo/koala)与API进行交互,但直接浏览器调用返回相同的结果。

1 个答案:

答案 0 :(得分: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