В настоящее время я пытаюсь запросить некоторые рыночные котировки из Yahoo Finance API (YQL) для проекта, над которым я работаю, и у меня возникают небольшие проблемы с построением URL-адреса запроса.URL-адрес API API YQL:
Если я иду в консоль и запроса котировок YQL для Microsoft возвращает мне следующий URL:
https://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.quote%20where%20symbol%20in%20(%22MSFT%22)&format=json&diagnostics=true&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys&callback=
Если я брошу это прямо в мой код и запустить мой запрос с этим URL, он отлично работает и Я могу получить данные, которые я хочу. Однако я хочу, чтобы иметь возможность построить свой собственный URL-адрес запроса, чтобы я мог выбирать, какие запасы я хочу получить, без необходимости копировать ссылку с консоли YQL.
Теперь, когда я пытаюсь создать свой собственный URL (после примеров YQL на сайте), я столкнулся с проблемой; мой url не кодирует себя так же, как консоль, и я не могу получить какую-либо информацию обратно.
Вот код, я использую, чтобы построить свой собственный URL:
$yql_base_url = "https://query.yahooapis.com/v1/public/yql?q=";
$yql_query = "select * from yahoo.finance.quote where symbol in ('MSFT')";
$yql_query_url = $yql_base_url . urlencode($yql_query);
$yql_query_url .= "&format=json&diagnostics=true";
$yql_query_url .= "&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys&callback=";
Теперь, когда я печатаю этот URL из рядом с одной скопированный из консоли YQL, легко видеть, что они не совпадают вообще-то, что, скорее всего, не работает.
Для сравнения, мой URL:
https://query.yahooapis.com/v1/public/yql?q=select+%2A+from+yahoo.finance.quote+where+symbol+in+%28%27MSFT%27%29&format=json&diagnostics=true&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys&callback=
YQL Console URL:
https://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.quote%20where%20symbol%20in%20(%22MSFT%22)&format=json&diagnostics=true&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys&callback=
Может кто-нибудь, кто использовал это раньше, или может увидеть любые ошибки, которые я могла бы сделать предложение некоторую помощь, было бы весьма полезно.
YQL Учебник Я был следующим: https://developer.yahoo.com/yql/guide/yql-code-examples.html#yql_php