web-dev-qa-db-ja.com

Trello APIを使用して書き込み用の永続的なユーザートークンを取得するにはどうすればよいですか?

TrelloカードをAPIで更新するアプリを作成しようとしています。アプリがTrelloボードに書き込むための永続的なユーザートークンを取得するにはどうすればよいですか?

ありがとう

34
Kar

これは、次の2つの方法のいずれかで実行できます-

以下のアドレスにユーザーを案内します。これにより、コピーして貼り付けられるトークンを含むページにユーザーが誘導されます。重要なのは、expiration = neverおよびscope = read,write

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

または、OAuth(harder)を使用して、アクセストークンのリクエストを自動化します。詳細は documentation を参照してください。

トークンを取得したら、必要なAPI呼び出しを行うことができます。

56
Andy Jones

サーバー側ですべてを行う必要がある場合、Andy Jonesは正解です。それが唯一の2つの方法です。

ただし、サーバー側でリダイレクトを行う代わりにjavascript + jqueryコードを記述できる場合は、Andyが説明したとおりの処理を行いますが、ほとんどの処理を行う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
}
11
neminem

個人使用のトークンのみが必要な場合は、app-keysecretおよびtokenは、ログインしたユーザーに基づいて here です。

0
Karl Pokus