我有一个聊天机器人运行在一个网站,我希望能够集成flattr到它。它是在Node中构建的,没有前端,它只是使用一个API与站点交互。
我想做这样的事
注意事项:机器人的所有命令都以"!“开头。
!flattr @username到flattr用户
我知道这将意味着那些想要接收或捐赠flattr的人必须创建帐户。
只是在寻找一些关于如何开始这方面的指导。
我想我需要这样做:
创建一个应用程序,获取客户端ID和秘密,通过Oauth流获得Bearer令牌。包括flattr thing在此过程中的范围。
您的代币要过期多长时间?我应该经常更新这个令牌吗?
那么我想我只需要使用flattr事件 api端点?用户在您的api中被认为是“事物”吗?:id是thing的秘密,还是可以公开而不受伤害?
用户是否知道他们的id,或者他们能很容易地找到它?或者我需要使用用户端点来获取这些信息?这是否意味着增加一个范围?
这是我的理想处境。在聊天中,所有用户都设置了flattr帐户,并可以通过以下操作将机器人连接到Flattr:
!flattr addme [flattr username] (如果可以访问,也可以使用flattr )
就像我上面提到的,他们只需要使用!flattr @[username]就可以了
谢谢!
发布于 2016-10-18 06:45:21
您确实需要API凭据,但是“flattr”范围应该足够了。您需要解决三个问题,即识别用户、验证用户、然后平版URL:s (因为Flattr系统只适用于URL:s)。
后者很简单,最好是您的应用程序/站点为每个用户提供一个配置文件页面。有点像“http://example.com/user/francisc0”。然后,只需使用该URL调用/flattr端点即可。URL的响应必须包含Flattr可以用来标识Flattr用户的内容,或者您必须将用户ID与flattr请求一起传递。阅读自动提交URL:s。但简而言之,自动提交URL看起来像https://flattr.com/submit/auto?fid=abc123&url=http%3A%2F%2Fexample.com%2Fuser%2Ffrancisc0。
为了识别您的用户,他们需要在聊天中拥有唯一的用户名(或者其他一些您可以从用户名中查找到的惟一用户名)。每个用户还必须告诉应用程序他们的flattr id是什么。这可以像输入字段一样简单,用户在输入字段中手动添加他们的id,或者您可以从API获取id(查看/user端点)。
现在,为了使用flattr,您的应用程序(api客户端)需要作为Flattr用户进行身份验证。作为输入命令“!Flattr @username”的flattr用户。因此,我的建议是,当用户希望启用聊天中的flattr功能时,您可以为他们执行oauth身份验证,并保存访问令牌(它们永远不会过期)。当用户在聊天中键入“!flattr @username”时,您将从存储中检索该用户的访问令牌,然后以该用户的身份发送flattr请求。
应该是这样的。
几年前,我为IRC做了一些类似的事情,它工作得很好,所以它也应该适用于您的用例。
专业提示:避免使用/thing端点,因为它们很快就会被废弃。api文档并不是最新的,但这也是很快就会发生变化的。用户对象将很快包含一个‘idv3’属性,使用它作为用户id而不是‘id’。
资料来源: am Flattr dev。
https://stackoverflow.com/questions/39692368
复制相似问题