import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
product_hunt: {
type: "app",
app: "product_hunt",
}
},
async run({steps, $}) {
const data = {
"query": `{
viewer {
user {
id
username
}
}
}`,
}
return await axios($, {
method: "post",
url: `https://api.producthunt.com/v2/api/graphql`,
headers: {
Authorization: `Bearer ${this.product_hunt.$auth.oauth_access_token}`,
},
data,
})
},
})
Product Hunt uses OAuth authentication. When you connect your Product Hunt account, Pipedream will open a popup window where you can sign into Product Hunt and grant Pipedream permission to connect to your account. Pipedream securely stores and automatically refreshes the OAuth tokens so you can easily authenticate any Product Hunt API.
Pipedream requests the following authorization scopes when you connect your account:
public
private
write
GET
https://api.producthunt.com/v2/oauth/authorize
?
client_id={{oauth.client_id}}
&
redirect_uri={{oauth.redirect_uri}}
&
state={{oauth.state}}
&
response_type=code
&
scope={{oauth.space_separated_scopes}}
POST
https://api.producthunt.com/v2/oauth/token
content-type: application/x-www-form-urlencoded
accept: application/json
client_id={{oauth.client_id}}
&
client_secret={{oauth.client_secret}}
&
redirect_uri={{oauth.redirect_uri}}
&
grant_type=authorization_code
&
code={{oauth.code}}