I'm attempting to get the JSON object from a known IPFS link. When I use a function like $.getJSON() or node-fetch I am greeted with an error telling me I can only use HTTP. I've searched around for hours now and found nothing on this.
Example IPFS link: ipfs://bafybeignop35wemk2eu2z34qurwusjeuri6unpyzrzeetmxs4hrwksq7dq/?filename=tokenURI.json
That function will not work through the IPFS protocol ipfs://
. The quickest and dirtiest way to get that JSON file is to use a trusted public gateway.
You'll find the list of public gateways via the link below.
https://ipfs.github.io/public-gateway-checker/
The most important bit of information in that link is your CID
that might refer to a folder or a single file. You can link to your JSON file with that CID
using any of these public gateways.
Please note that these gateways are not there to use in any production environment. They usually come with restrictions such as rate-limiting.
You can read more here:
https://docs.ipfs.io/concepts/ipfs-gateway/#can-websites-rely-on-the-ipfs-io-gateway-for-hosting
I also recommend you this article they have, you'll better understand the whole concept.
https://docs.ipfs.io/concepts/ipfs-gateway/#gateway-providers