问题标签 [patreon]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1797 浏览

php - 如何处理接收到的 HTTP Header

我的问题是如何使用从其他站点收到的 php 读取标头信息。(我正在使用 patreon webhooks)文档页面说:

当这些事件之一发生时,我们的服务器将向您指定的 URL 发送 HTTP POST。此 HTTP POST 将包含来自 JSON 格式的用户操作的相关数据。它还将具有消息签名的标头
X-Patreon-Event: <trigger>
X-Patreon-Signature: <message signature>
,其中消息签名是使用您的 client_secret 签名的 JSON POST 正文 HMAC(使用 MD5)

这是我的代码:

0 投票
0 回答
253 浏览

php - Patreon - 在“成为赞助人”按钮后不获取 HTTP 查询参数

我正在尝试在我的 PHP 网站(文档)上实现“成为赞助人”按钮。

作为“重定向 URL”的附加参数,我设置了 JOB 和 USERID,因此我的重定向 URL 如下所示:

我需要“工作”来知道重定向来自 Patreon 和“用户 ID”,这样我就可以给赞助人奖励。

Patreon 生成的 HTML 代码如下所示:

在顾客点击链接并设置承诺后,他将按照提供的方式重定向,但我在请求中得到的只是工作和用户 ID。

文件说:

如果您想查看他们承诺了多少,并且该承诺是新的还是只是对旧承诺的更新,您可以检查我们重定向请求中的 HTTP 查询参数。

所以我问:“amount_cents”和“action”参数在哪里?

我检查了所有收到的 HEADER 信息(如何处理收到的 HTTP 标头),但我从 $_REQUEST 得到的只是:

我在 $_SERVER 中也找不到任何东西。

你对我有什么建议吗?

0 投票
0 回答
210 浏览

javascript - 关于记录不善的 patreon-js

我不明白这个文档,我非常努力地完成下面提到的信息,但我不太确定“jsonApiURL”是什么。有人可以告诉我如何正确实现报价中的目标。

响应格式

根据 JSON:API 规范,您可以请求我们的 API 返回的特定相关资源和/或资源属性。patreon/schemas 中提供了有效包含和字段参数的列表。例如,如果您想请求顾客支付给您的活动的总金额,默认情况下不包括在内,您可以执行以下操作:

更多信息如下

https://github.com/Patreon/patreon-js

0 投票
1 回答
337 浏览

node.js - NodeJS Patreon API 账户链接

我正在尝试将我网站上的用户帐户连接到 patreon。在响应第 3 步时,我不断收到一条 access_denied 错误消息。我正在关注此文档

我的节点服务器代码如下所示:

实际发送到服务器的 req 变量看起来像这样(当然将我的代码更改为通用值)

有任何想法吗?

0 投票
1 回答
486 浏览

node.js - OAuth 401 "access_denied" from Patreon API

I'm really stumped on this one, so any help or pointers would be most welcome. I'm following this documentation:

https://www.patreon.com/platform/documentation/oauth

I ran through all the necessary calls in Postman and have got access to the API. Then when I tried to run it through a Node.js / Express app and I started to get the following response as soon as I used the single use token (Step 3 in the referred documentation):

I then took the single use code that was being sent to my app and pasted it into the params in Postman and I got the same result (a 401 error). Only when I changed the redirect_url to a php script (on a remote server) and then used that single use code with postman did I get a 200 response.

The following ...

... gives me a working code and ...

goves me a code that doesn't work.

I am making both the subsequent calls for the oauth token from Postman so I am a bit lost as to why this is happening.

I am very new to Node.js and Express but I have worked with oauth and api's in general for some time.

Things I have tried:

  • Using a url shortner for the redirect url
  • using dotted quad instead of localhost

Thanks in advance,

roscminni

EDIT:

Here is the node code that is receiving the redirect

And here's the app.js

0 投票
0 回答
658 浏览

c# - 确定用户是否在我的 Patreon 上认捐

所以我正在为我正在开发的游戏设置 Patreon,其中一个承诺层允许用户访问其他人无法访问的游戏内聊天(该层的其他成员除外)。

我的游戏的聊天引擎允许我通过让客户端检查用户的保存文件中是否有“IsPatron”变量来创建仅对 Patreon 用户可见的聊天,如果它是真的显示聊天,但是,我无法将此值设置为当用户开始为指定层或高于它的任何层质押时为 true。

最初我想让我的游戏的 Discord 集成机器人允许用户在开始认捐时输入 Patreon 提供给他们的代码,并将该代码链接到他们的保存文件并让机器人将值设置为 true,但我认为没有办法通过 Patreon 联系我的游戏服务器 A:没有为我的服务器设置可以通过 Internet 访问的 API,并且 B:Patreon 不支持将用户返回到我选择的回调 URL 的能力,其中将生成代码。

我还想过使用该机器人来查找该层的 Discord 组中的所有用户,但是有些用户使用不同的用户名进行存档,而不是使用 Discord,并且如果不询问他们的 Discord 用户名,就无法将他们的 Discord 链接到他们的存档客户端上的密码并通过 Discord 进行身份验证以证明他们是谁 - 然后让服务器检查他们的帐户是否具有指定的角色。

我还希望这种 Patreon 验证能够自动且无缝地完成 - 即,他们承诺他们的金额,获得他们的等级,播放感谢消息,并且在他们下次玩游戏时,他们可以立即访问游戏中的 patreon 好东西无需进一步的用户操作。

有没有办法在 C# 中做到这一点,true如果 Patreon 说“是的,这个用户正在承诺你的项目并承诺这一层,继续”,则在保存文件中创建该变量?

是否有可能将此验证完全保留在服务器端,这样我就不必为我的客户端发布补丁并强迫人们升级到该补丁并废弃旧版本的客户端?

0 投票
1 回答
146 浏览

rest - 如何刷新 OAuth2 令牌?我需要等待令牌过期吗?(Patreon API)

我正在尝试使用 Patreon 的 API 进行 OAuth。我对 OAuth 流程非常陌生,并且一直在使用 Patreon 的 Javascript 包来帮助管理我的请求。

到目前为止,我已经能够通过以下方式成功获取令牌:

我收到的令牌是这样的:

在我的本地服务器中,我正在尝试让刷新令牌工作,这样我就不必每个月都继续询问用户许可。

虽然当我使用刷新令牌方法时,我得到一个 400 Bad Request:

它没有在 npm 文档中显示,但您可以在patreon的github 源代码中找到refreshToken()

根据这里在他们的api文档中:

如果您希望在令牌过期后获得最新信息,则可能会发行一个新令牌以供下个月使用。要刷新令牌,请使用 refresh_token 授权类型向令牌端点发出 POST 请求,如示例中所示。您也可以在客户端页面中的相应客户端上手动刷新令牌。

那么我得到 400 的原因是因为我需要等待一个月来刷新令牌,还是我只是错误地实现了 API?我希望有更多 OAuth 经验的人可以告诉我我们是否应该在令牌过期之前之后进行令牌刷新?

(如果您在到期之前刷新它,是否有某种方法可以让快速服务器在月份到期之前执行此操作?因为我认为为每个令牌添加超时对内存来说真的很糟糕)。

0 投票
0 回答
56 浏览

wordpress - 通过 Zapier 从 Patreon 获取正确的输出到 Wordpress/PmPro

尝试协助设置通过 zapier 然后进入 wordpress 网站上的付费会员专业版的 patreon 等级。

完成我到达https://imgur.com/IMvS2ye Zapier 的步骤在网站上有一个操作方法,但它没有涵盖这里试图实现的目标https://www.paidmembershipspro.com/add-ons/ pmpro-zapier/因为它从 Patreon 通过 Zapier 输入到 PmPro

0 投票
1 回答
527 浏览

javascript - Patreon Oauth API

我正在尝试使用 Patreon API。

我已经有客户端 ID 和客户端密码等。

当我打开带有客户端 ID 和客户端密码的 oauth url 时。例如

我没有进入允许我使用我的 Patreon 帐户登录的页面,而是转到重定向 URL,其中传递了一些参数:

例如 http://localhost:3000/?error=invalid_scope&state=%3Coptional+string%3E

这是什么意思,我做错了什么?

0 投票
1 回答
49 浏览

javascript - MeteorJS:一个登录用户无限设备

我正在开发一个 Meteor Web 应用程序,它使用 Patreon API 来检查他们是否是网站的赞助人。如果是,那么 Web 应用程序应该让他们登录,然后显示具有只有顾客才能使用的额外功能的额外按钮。

目前,我在想的是有一个登录按钮,它调用 Patreon 的 oauth 链接。然后在用户登录并允许 Web App 访问他们的 Patreon 个人资料以检查他们是否是该网站的支持者后,Meteor 就会将他们登录。

为了简化登录过程,我正在考虑使用相同的登录名和密码(例如用户名:'user1',密码:'password1')记录所有不同的顾客。

这意味着如果有一千名顾客使用一千种不同的设备登录,我想所有的人都使用 Meteor 中的一个用户名和密码登录以简化事情,因为这只会在他们通过 Patreon 进行身份验证后才会发生oauth API。

这听起来会奏效吗?是一种可接受的做事方式吗?