2012-07-29 21 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