Мне интересно, можно ли предотвратить YQL от URL-кодирования ключа для данных?
Пример:
Текущий API-интерфейс хранителя работает с такими идентификаторами:
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