As of right now, you cannot retrieve a permanent access token. You have 2 options that come close.
The first is to request a "refresh" token when using the standard OAuth flow. That's what you're doing by sending "duration" as "permanent" in your code. The refresh token can be used to automatically retrieve new 1 hour access tokens without user intervention; the only manual steps are on the initial retrieval of the refresh token.
The second alternative, which applies only when writing a script for personal use, is to use the password grant type. The steps are described in more detail on reddit's "OAuth Quick Start" wiki page, but I'll summarize here:
- Create an OAuth client (under https://www.reddit.com/prefs/apps) with type = "script"
- Make a request to
https://www.reddit.com/api/v1/access_tokenwith POST parametersgrant_type=password&username=<USERNAME>&password=<PASSWORD>. Send your client ID and secret as HTTP basic authentication.<USERNAME>must be registered as a developer of the OAuth 2 client ID you send.
Hey folks, this is baffling me - how do I create a new app/get API credentials?
When I go to /pref/apps I just get a "You are already logged in and will be redirected"
But when I get redirected I end up on the same screen.
Any insights? :-)
Thanks!
Videos
What types of data can be accessed through the Reddit API?
Can the Reddit API be used for commercial purposes?
What are the limitations and rate limits of the Reddit API?
As of right now, you cannot retrieve a permanent access token. You have 2 options that come close.
The first is to request a "refresh" token when using the standard OAuth flow. That's what you're doing by sending "duration" as "permanent" in your code. The refresh token can be used to automatically retrieve new 1 hour access tokens without user intervention; the only manual steps are on the initial retrieval of the refresh token.
The second alternative, which applies only when writing a script for personal use, is to use the password grant type. The steps are described in more detail on reddit's "OAuth Quick Start" wiki page, but I'll summarize here:
- Create an OAuth client (under https://www.reddit.com/prefs/apps) with type = "script"
- Make a request to
https://www.reddit.com/api/v1/access_tokenwith POST parametersgrant_type=password&username=<USERNAME>&password=<PASSWORD>. Send your client ID and secret as HTTP basic authentication.<USERNAME>must be registered as a developer of the OAuth 2 client ID you send.
A client_id and client_secret can be generated for a reddit account by going to https://www.reddit.com/prefs/apps and creating an app:
The part I have hidden is my client_id.
Then you can use a client like praw to access reddit e.g. with Python:
import praw
r = praw.Reddit(client_id='insert id here',
client_secret='insert secret here',
user_agent='insert user agent')
page = r.subreddit('aww')
top_posts = page.hot(limit=None)
for post in top_posts:
print(post.title, post.ups)
You could use your current browser's user agent, which can be easily found by google searching "what is my user agent" (among other ways).
I need to add authentication so that when a user makes a request to the API the API will check if they are able to make requests. I’m not sure how API keys are created or how to make them useable though. Are there any good articles or videos I should watch to learn more about API keys?
Please change ALL of the following:
API key
Redirect URL
User-Agent (in Infinity)
Please don't just change the API key!!!!!!!!! And please use another app name without infinity in it 🥺.
I found many users had made some tutorials about how to use your own API key, like this post, but none of them mentioned the other two things. If you don't change all of them, reddit still knows you are using Infinity, but with your own key.
You can see more info here.
Made a simple site. Yes this is a self promotion.
It costs nothing.
https://www.unsecuredapikeys.com/
Do I need to be a developer to use an API key? No
Do I need some special knowledge? No, anyone can use it, either through the OpenAI playground (https://platform.openai.com/playground) or other 3rd party apps that allow you to use your key.
Where can I get my own API key? You need to register and log in here: https://platform.openai.com/account/api-keys you also need to set up your payment details with OpenAI to activate your API key.
What's an API key, and why do I need it? ChatGPT is great, but the app has only a limited set of features. OpenAI provides programmatic access to their models via the APIs so devs can use it to build other apps for any use case. An API key is like a personal password. When you use apps with your key, the usage will be billed to your account. The reason why it's become a popular model nowadays is because you only get to pay for what you use and avoid subscriptions.
How and when can I use it? An example could be getbeam.ai, a native ChatGPT app for Mac. This app provides an alternative ChatGPT UI and lets you use your API key. This means you only pay for what you use instead of paying some subscription or monthly fee.
How much does it cost? Is it expensive to use APIs? GPT-3.5 is very cheap; you can use it all day, every day, and your monthly bill will most likely stay under $5
- GPT-4 is more expensive (input: $0.03 / 1K tokens, output: $0.06 / 1K tokens), but it still depends on your usage.
I mostly use GPT-4 as a Google replacement for programming; my prompts are usually quite short, and I don't need 5000-word essays. So, my monthly bill has constantly stayed around $5. But I know some power users who spend $100+/mo
Is it safe to share my API key with 3rd party apps? Yes and No. If some bad actor gets access to your API key two things can happen: they'll use it, and you'll end up paying the bill. They misuse it, and your account can be banned.
The first can be mitigated by setting the spending limit so it will never exceed $20, for example.
If you're using apps from credible sources and have a spending limit on your account, you should be OK.
Can I have multiple API keys? Yes, you can generate multiple API keys. This can be useful if you want to track usage across different applications.
Can APIs replace ChatGPT? Not entirely. When OpenAI rolls out new features to ChatGPT, they're usually unavailable via the APIs immediately. They're not always in sync.
In summary, if you see 3rd party apps saying "Requires OpenAI API Key," it only takes a few clicks to set up. Be careful with how you manage your key to avoid potential misuse. Never share it with random people. Make sure to set the spending limit and only use apps that you can trust.
I m having an issue getting an API key for google maps. I just want a map integrated in my Application so a user can search the highlighted places but google seems to ask for a credit card which I dont have. If there are any other open source maps which give API keys. what can I do?
How do I get free ai API keys to use for my projects as a startup