【问题标题】:Open graph fetching meta data打开图获取元数据
【发布时间】:2017-01-21 07:01:44
【问题描述】:

我正在使用开放图形库从 url 获取元数据。 我从遵循 og 标记 规则的 url 链接获取标题和描述。如何从不遵循 og 标签 的 url 链接获取元数据。 我的简单代码:

OpenGraph data = new OpenGraph(url, true);
            response.setDescription(data.getContent("description"));
            response.setMetaDataImage(data.getContent("image"));
            response.setTitle(data.getContent("title"));
            response.setMetaDataUrl(data.getContent("url"));

数据获取为空。

【问题讨论】:

    标签: java playframework metadata facebook-opengraph


    【解决方案1】:

    我想你说的是this library。如果是这样,构造函数中的布尔值就可以达到目的:

    public OpenGraph(String url, boolean ignoreSpecErrors) {
        ...
    }
    

    我使用这个库获取例如图片的方式如下:

    OpenGraph og = new OpenGraph(url, true);
    MetaElement[] imageElements = og.getProperties("image");
    

    也许您只是使用了错误的吸气剂?如果页面有 og 标签,这个 sn-p 应该可以工作!

    【讨论】:

      【解决方案2】:

      我与opengraph-java 有类似的问题(即得到空响应)。

      我尝试了文档中的示例,但响应为 null

      OpenGraph movie = new OpenGraph("http://www.rottentomatoes.com/m/back_to_the_future/", true);
      System.out.println("movie = " + movie)); // movie = null
      

      尝试ignoreSpecErrorsfalse 选项会引发异常java.lang.Exception: Does not conform to Open Graph protocol

      所以我创建了一个名为ogmapper 的库,它更灵活一些。

      DefaultOgMapper ogMapper = new JsoupOgMapperFactory().build();
      OgTags ogTags = ogMapper.process(new URL("http://www.rottentomatoes.com/m/back_to_the_future/"));
      System.out.println("title = " + ogTags.getTitle()); // title = Back to the Future (1985)
      

      希望这会有所帮助!

      【讨论】:

        猜你喜欢
        • 2015-07-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-03-18
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多