I am using this code to try to get json data from many json files using yql to compile them into one json.
My yql query is in this format:
select * from json where
url="http://ebird.org/ws1.1/data/obs/region_spp/recent?rtype=subnational2&r=US&sci=Dendrocygna%20autumnalis&fmt=json"
or url = "http://ebird.org/ws1.1/data/obs/geo_spp/recent?lng=-119.859512&lat=34.410240&sci=Dendrocygna%20autumnalis&dist=49&back=14&maxResults=10000&fmt=json&includeProvisional=true"
and itemPath = "json.json"
I rawurlencode the above to obtain the q= part of the yql query url. Then i get this outputted url. It works fine when copy and paste the echoed url into my browser, but when i try to use file_get_contents on the url I get this:
cbfunc({"error":{"lang":"en-US","diagnostics":{"publiclyCallable":"true"},"description":"Query syntax error(s) [line 1:3675 missing EOF at '_']"}});
So I am asking, why does it not work when I am using it with file_get_contents, but does when I am using the url in my browser. Also, is there a smarter/easier way to use multiple json files together with php? I tried using curl to pull the yql json and got a weird output like:
8<\/howMany>34.4136<\/lat>-119.8756<\/lng>L615794
This method would be fine, but I don’t know how to get it into a useable array.
Try to use urlencode() instead of rawurlencode(). The system you’re sending it to may not like the encoding.