如何使用Trello API获取用于写入操作的永久用户令牌?

34

我正在尝试编写一个使用API更新我的Trello卡片的应用程序。如何获取永久用户令牌以便该应用程序能够写入我的Trello面板?

谢谢。

3个回答

60

您有两种方式可以完成此操作 -

将用户直接引导至以下地址。这将引导用户到一个页面,该页面包含一个令牌,用户可以复制并粘贴给您。重要的是您需要请求 expiration = neverscope = read,write

https://trello.com/1/authorize?key=substitutewithyourapplicationkey&scope=read%2Cwrite&name=My+Application&expiration=never&response_type=token

或者使用 OAuth(更难)来自动请求访问令牌。在文档中阅读更多信息。

一旦你拥有了令牌,你可以进行任何 API 调用。


1
文档页面链接:https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user - Dennis Golomazov

11
如果您只能在服务器端执行所有操作,那么Andy Jones是正确的,这些是唯一的两种方法。
但是需要注意的是,如果您可以编写javascript+jquery代码而不必在服务器端执行重定向操作,则可以利用Trello的client.js包装器,该包装器完全符合Andy所描述的内容,并且为您处理大部分工作,非常方便。
并且,正如我最近发现的那样,如果您确实需要在服务器端进行处理,仍然可以使用client.js,然后在auth成功处理程序中使用Trello.token()获取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
}

这非常非常有帮助。非常感谢你。 - Lokesh

0

如果您只需要个人使用令牌,您可以基于登录此处获取app-keysecrettoken


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接