如何使用 Trello API 获取用于写入的永久用户令牌?
Posted
技术标签:
【中文标题】如何使用 Trello API 获取用于写入的永久用户令牌?【英文标题】:How to get a permanent user token for writes using the Trello API? 【发布时间】:2013-06-15 06:13:54 【问题描述】:我正在尝试编写一个使用 API 更新我的 Trello 卡片的应用。如何获取应用的永久用户令牌以写入我的 Trello 看板?
谢谢
【问题讨论】:
【参考方案1】:您可以通过以下两种方式之一执行此操作 -
将用户引导至以下地址。这会将用户引导至具有令牌的页面,她可以将其复制并粘贴回给您。重要的是你要求expiration = never
和scope = read,write
https://trello.com/1/authorize?key=substitutewithyourapplicationkey&scope=read%2Cwrite&name=My+Application&expiration=never&response_type=token
或者使用 OAuth(更难)自动请求访问令牌。在documentation 中阅读更多内容。
获得令牌后,您可以进行任何您想要的 API 调用。
【讨论】:
文档页面链接:trello.com/docs/gettingstarted/…【参考方案2】:如果您必须在服务器端做所有事情,Andy Jones 是正确的,这是仅有的两种方式。
但是,应该注意的是,如果您可以编写 javascript+jquery 代码,而不必在服务器端执行重定向,您可以利用 Trello 的 client.js 包装器,它完全按照安迪的描述进行,但需要为您处理大部分工作,这很方便。
而且,正如我最近发现的那样,如果您确实需要在服务器端进行处理,您可能仍然可以使用 client.js,然后只需在您的身份验证成功处理程序中使用 Trello.token() 获取令牌,然后传递它到您的服务器端代码。它看起来像这样:
// include whatever version of jquery you want to use first
<script src="https://api.trello.com/1/client.js?key=[your application key]" type="text/javascript"></script>
// call this whenever you want to make sure Trello is authenticated, and get a key.
// I don't call it until the user needs to push something to Trello,
// but you could call it in document.ready if that made more sense in your case.
function AuthenticateTrello()
Trello.authorize(
name: "your project name",
type: "popup",
interactive: true,
expiration: "never",
success: function () onAuthorizeSuccessful(); ,
error: function () onFailedAuthorization(); ,
scope: write: true, read: true ,
);
function onAuthorizeSuccessful()
var token = Trello.token();
// whatever you want to do with your token.
// if you can do everything client-side, there are other wrapper functions
// so you never need to use the token directly if you don't want to.
function onFailedAuthorization()
// whatever
【讨论】:
这非常有帮助。非常感谢。【参考方案3】:如果您只需要个人使用的令牌,您可以根据您在here 上的登录获得app-key
、secret
和token
。
【讨论】:
以上是关于如何使用 Trello API 获取用于写入的永久用户令牌?的主要内容,如果未能解决你的问题,请参考以下文章
ruby 代码转储,显示我们如何使用Trello API生成“Changelog Weekly”