Веб-сайтdoi2bib.orgищет код DOI для публикации и возвращает данные о публикации. Коды DOI включают косые черты, например:
10.1037/dev0000663
Получить данные для этой публикации можно двумя способами:
- Идти кdoi2bib.orgи введите DOI в текстовое поле, или
- Перейдите непосредственно по URL-адресу doi2bib для этого DOI:https://doi2bib.org/bib/10.1037%2Fdev0000663
Во втором методе слеш в DOI должен быть закодирован в URL в %2f
. URL без этой кодировки не работает. Таким образом,https://doi2bib.org/bib/10.1037/dev0000663не работает.
Вот в чем проблема. Если я скопирую рабочий URL
https://doi2bib.org/bib/10.1037%2Fdev0000663
в MS Word или Excel, то оттуда ссылка не работает, а выдает сообщение об ошибке:
Обратите внимание, что URL-адрес отображается правильно в этом сообщении об ошибке. Ключ к решению проблемы может быть в том, что появляется при наведении мыши на URL-адрес в Word:
Обратите внимание, что здесь URL был декодирован, чтобы измениться %2F
на слеш. Если это тот URL, к которому Word действительно пытается обратиться, это объясняет, почему он терпит неудачу.
Я попробовал преобразовать %2F
в , %252F
чтобы посмотреть, отправит ли это правильный URL, но этого не происходит. Это приводит к сообщению об ошибке:
и наведение курсора на URL-адрес предполагает, что Word просто преобразовал %252F
его в косую черту, а затем снова попытался перейти по неправильному URL-адресу:
Помимо Word и Excel, ссылки также не работают в команде "Создать PDF из веб-страницы" Adobe Acrobat. Так что проблема не является специфичной для программ MS Office.
Как мне написать этот URL-адрес, чтобы Word и другие программы правильно по нему переходили?
решение1
Обходной путь: вместо DOI2bib используйте доставку метаданных CrossRef (документация:1,2). Библиографические данные могут быть возвращены в удобной для восприятия форме с использованием базовогопоиск метаданных, который может принимать DOI как в URL-кодировке, так и нет:
Два вышеуказанных URL возвращают один и тот же результат, и оба работают в MS Word. Структурированные данные могут быть возвращены в формате JSON с помощью ReST API (1,2):
или в тексте с помощьюсогласование контента на основе ссылок, добавив к указанному выше URL-адресу API суффикс "/transform/application/x-bibtex":
или в XML, получив бесплатную учетную запись и используя ее адрес электронной почты в сервисе OpenURL (1,2,3) с параметром «redirect=false» или «noredirect=true»:
https://doi.crossref.org/openurl/?pid= < [email protected] > &id=doi:10.1037/dev0000663&redirect=false
Я все еще хотел бы узнать, есть ли правильное решение, чтобы заставить MS Word и другие программы запрашивать URL без декодирования %-кодов. Я не приму свой собственный ответ здесь, так что я смогу принять хороший ответ, если кто-то его опубликует.