2012-07-29 56 views
0

我想发布一个链接,无论是通过网站还是通过API加一个DOI到DOI。对于那些不熟悉的人来说,DOI是与出版物的稳定链接(参见http://www.doi.org/faq.html)。输入后,它会通过303重定向到发布者的论文网页版本。例如:重定向Google Plus的属性渲染片段页面

curl -i http://dx.doi.org/10.1016/j.cryobiol.2012.06.009 

解决

HTTP/1.1 303 See Other 
Server: Apache-Coyote/1.1 
Location: http://linkinghub.elsevier.com/retrieve/pii/S0011224012001241 
Expires: Mon, 30 Jul 2012 10:09:27 GMT 
Content-Type: text/html;charset=utf-8 
Content-Length: 208 
Date: Sun, 29 Jul 2012 15:28:31 GMT 


<HTML><HEAD><TITLE>Handle Redirect</TITLE></HEAD> 
<BODY><A HREF="http://linkinghub.elsevier.com/retrieve/pii/S0011224012001241">http://linkinghub.elsevier.com/retrieve/pii/S0011224012001241</A></BODY></HTML> 

不幸的是,一加一片段中的元数据是从目标URL导出,据我可以告诉它不能单独提供。从https://developers.google.com/+/plugins/+1button/#plus-snippet

填充+摘要

点击+1按钮后,用户被给予共享 页面经由显示的共享气泡到Google+的选项。此分享泡泡 与生成的Google+活动帖子包含预览或 +代码段,其中包含页面标题,页面简要说明和缩略图图像。这些数据片段从目标网址上的 内容中提取,并可由 内容发布商轻松指定。

有关详细信息和定制您自己的代码段,请参阅 代码段文档。

问题是,为了聚合目的,最好链接到DOI,因为DOI是稳定的,而期刊网站链接可能不是。无论如何,使用DOI与Google plus的链接仍然正确地填充弹出窗口?

+0

使用DOI服务注册一篇文章时,您只注册一个URL,还是还有其他信息(日记名称,文章名称,摘要,图片)? – Prisoner 2012-07-30 16:15:53

+0

该文章通常由出版商注册。该出版商还提供了其他信息。这个元数据可以通过请求html以外的内容以编程方式访问请参阅http://crosscite.org/cn/ – Dave 2012-07-30 18:53:53

回答

1

听起来最好的解决方案是让doi.org的重定向页面在303页面(当前链接的位置)发布一些元数据信息。这样,链接后面的漫游器会从最终的目标页面获取信息,而那些不知道的链接仍然能够从重定向页面获取元数据。

+0

但我无法控制DOI系统,也无法控制Google+是否可以遍历303重定向。我希望有一种方法可以让Google+为json提供内容协商请求,以获取正确的元数据。 – Dave 2012-07-31 20:33:32