Мне интересно, можно ли запретить YQL кодировать URL-адрес ключа для таблицы данных?
Пример.
Текущий API-интерфейс Guardian работает с такими идентификаторами:
item_id = "environment/2010/oct/29/biodiversity-talks-ministers-nagoya-strategy"
Проблема с этими идентификаторами заключается в том, что они содержат косую черту (/), и эти символы не должны быть закодированы в URL-адресе в вызове API, а вместо этого должны оставаться такими, какие они есть.
Итак, если у меня теперь есть этот запрос
SELECT * FROM guardian.content.item WHERE item_id='environment/2010/oct/29/biodiversity-talks-ministers-nagoya-strategy'
при использовании следующего определения url
в моей таблице данных
<url>http://content.guardianapis.com/{item_id}</url>
то это приводит к этому вызову API
http://content.guardianapis.com/environment%2F2010%2Foct%2F29%2Fbiodiversity-talks-ministers-nagoya-strategy?format=xml&order-by=newest&show-fields=all
Вместо этого API-интерфейс хранителя ожидает, что вызов будет выглядеть следующим образом:
http://content.guardianapis.com/environment/2010/oct/29/biodiversity-talks-ministers-nagoya-strategy?format=xml&order-by=newest&show-fields=all
Так что проблема в том, что символы /
кодируются как %2F
, чего я не хочу в данном случае.
Любые идеи о том, как этого можно достичь?
Вы также можете проверить полную таблицу данных, которую я использую:
http://github.com/spier/yql-tables/blob/master/guardian/guardian.content.item.xml