0

Web 編集キューを Trello に統合/置き換えようとしています。

非公開の組織を作成しましたが、読み取り/書き込みアクセス用のトークンを作成しました。

Trello API 用の優れた PHP ラッパーは見たことがありません (利用可能な 2 つを調べましたが、私の目的のためにそれらを実際に起動して実行することはできませんでした。)

とにかく、私がやりたいことは、特定のリストにカードを読み込んで挿入するためのかなり初歩的なアクセスを提供することです。

API を使用して、以下を使用して List の結果を返すところまで取得しました。

https://api.trello.com/1/lists/[mylistID]/cards?key=[myappkey]&token=[mytoken]

結果として、リスト内のカードの json として、まさに私が望むものを取得します。

今、CURL を使用して PHP でそれを再作成しようとしていますが、次のコードで試したものから、無許可または不正なリクエストのエラー応答が返されます。

$url = "https://api.trello.com/1/lists/[myboardID]/cards";
$trello_key          = 'mykey';
$trello_list_id      = 'mylistid';
$trello_member_token = 'mytoken'; 

$fields = "key=$trello_key&token=$trello_member_token&name=$name&idList=$trello_list_id";
e
# init curl
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)");
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLINFO_HEADER_OUT, TRUE); // make sure we see the sended header afterwards
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 0);
curl_setopt($ch, CURLOPT_POST, 1);

# dont care about ssl
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

# download and close
$output = curl_exec($ch);
$request =  curl_getinfo($ch, CURLINFO_HEADER_OUT);
$error = curl_error($ch);
curl_close($ch);

だから私は誰かが私が間違っていることを知っているかどうかを見ているだけです. シンプルであるべきだと思いますが、数時間費やしたので、助けが必要だと思います。何かアイデアがあれば教えてください。

{API キー、トークン、BoardID などへの明らかな参照を省略しました}

4

2 に答える 2

2

これは実際に私にとってはうまくいくようです。CURLでデフォルトのGETの代わりにPOSTを使用しようとしていました。まだ応答の解析に取り組んでいますが、私は正しい方向に進んでいるようです。応答で「200OK」を取得しました。

$url = 'https://api.trello.com/1/lists/[myListID]/cards?key=[MyApiKey]&token=[myToken]';

# init curl
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
//curl_setopt($ch, CURLOPT_POSTFIELDS, $encoded_fields);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)");
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLINFO_HEADER_OUT, TRUE); // make sure we see the sended header afterwards
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 0);
//curl_setopt($ch, CURLOPT_POST, 1);

# dont care about ssl
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

# download and close
$output = curl_exec($ch);
$request =  curl_getinfo($ch, CURLINFO_HEADER_OUT);
$error = curl_error($ch);
curl_close($ch);

echo 'This is output = '.$output .'<br />';
echo 'This is request = '.$request .'<br />';
echo 'This is error = '.$error .'<br />';
于 2013-01-17T15:58:39.557 に答える