Parallax Image

Cutls Code Archives


SNZ 2016
TheDeskについての追記
カテゴリ:未分類 投稿日:2018年9月9日

なんの追記?
いつもの匠氏が執筆したMastodon(マストドン)クライアント for Windows/UWPアプリ 機能一覧&比較表についての追記です。
基本的にTheDeskの列について追記します。
続きを読む

万札握りしめてイヤホン買いに行った話
カテゴリ:未分類 投稿日:2018年8月24日

遅くなってしまい申し訳ありません。
なつやすみプロデュースノートたるものの8月24日付けの記事です。
続きを読む

結局雑記になった(凸凹スピードスター、デレ曲APIを組んだ話)
カテゴリ:未分類 投稿日:2018年8月2日

おはガシャの時間になりましたね。Cutls Pです。Google Pay使ってたらたまにGoogle Playの残高が当たるのでおはガシャ引いてます。ありがとうGoogle Pay。
なつやすみプロデュースノートたるものの8月2日付けの記事です。
続きを読む

TheDeskを作って思う今クライアントを作る意味
カテゴリ:未分類 投稿日:2018年4月15日

こんにちはCutls Pです。
このブログ的なもの自体放置していたのですが書いてみました。
続きを読む

保護中: mastodon-tlの使い方
カテゴリ:未分類 投稿日:2018年3月10日

このコンテンツはパスワードで保護されています。閲覧するには以下にパスワードを入力してください。

保護中: vanilla-mastodon-loginの使い方
カテゴリ:未分類 投稿日:2018年3月4日

このコンテンツはパスワードで保護されています。閲覧するには以下にパスワードを入力してください。

PHPでDropbox APIを叩く
カテゴリ:Code Archives, PHP, サーバー 投稿日:2017年7月16日

更新間隔が空きすぎてお久しぶりと書く必要もないような気がします。

とりあえずComposerでDropbox SDKを持ってきます。Composerとかそこら辺の詳しい知識はないので…
適当なディレクトリ上で(インストールされるディレクトリなので、サーバー上の任意のディレクトリ)、
composer.jsonを作成して、そこに、

{
  "require": {
    "dropbox/dropbox-sdk": "*"
  }
}

と書いて、その後、

$ curl -s http://getcomposer.org/installer | php
$ php composer.phar install

と叩く
これで終了です。PHPの頭に

require './vendor/autoload.php';

と書くだけカンタンです。

APIの下準備として、Developers – Dropboxに行って、Create you appを選んで適当に入れます。

Appが作成できたら、次にやることは目的によって変わってきます。

  1. 自分のDropboxアカウントのみ操作
  2. ユーザーのDropboxアカウントを、承認を得て操作

1.自分のDropboxアカウントのみ操作
Generated access tokenのGenerateを押して、コードをコピーしておく

あとは、PHPのrequireの下に、

$dropbox = new \Dropbox\Client('<ここにさっきのコードを入力>', 'agent-name');

と書けば準備完了です。
[2.~]を飛ばして読んで下さい。

2.ユーザーのDropboxアカウントを、承認を得て操作
今回はエンジニア側の負担が少ない簡便な認証コード入力方式を採用します。
App key、App secretを持ってきます。

https://www.dropbox.com/1/oauth2/authorize?response_type=code&client_id=<App key>
にユーザーをアクセスさせます。
そして出てきたコードを何らかの形でサーバーに送信してもらいます。
サーバー上で、

$POST_DATA = array(
    'code' => <取得したコード>,
	"grant_type" => "authorization_code",
      "client_id" => "<App key>",
      "client_secret" => "<App secret>",
);
$curl=curl_init();
curl_setopt($curl, CURLOPT_URL, "https://api.dropboxapi.com/1/oauth2/token");
curl_setopt($curl,CURLOPT_POST, TRUE);
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($POST_DATA));
curl_setopt($curl,CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($curl,CURLOPT_COOKIEJAR,      'cookie');
curl_setopt($curl,CURLOPT_COOKIEFILE,     'tmp');
curl_setopt($curl,CURLOPT_FOLLOWLOCATION, TRUE); // Locationヘッダを追跡

$response= curl_exec($curl);
$resp = json_decode($response, true); 
$at=$resp["access_token"];

ここで、$atに入った値(アクセストークン)さえあれば、APIは全て利用可能です。この値は不変なので保存しておけばいつでもユーザーの承認なしにアクセス可能です。
逆に、流出してしまうと大変ですので、保存の際は暗号化等、万全の対策を取ってください。
その後に、

//$atにアクセストークンを入れた状態で
$dropbox = new \Dropbox\Client($at, 'agent-name');

これでAPIにアクセス可能です。

APIへのアクセスはカンタンです。
例としてアップロードしてみましょう。

$fp = fopen('video.mp4(サーバー側のファイル)', 'rb');
$res = $dropbox->uploadFile('/Videos/video.mp4(Dropbox側のファイル)', \Dropbox\WriteMode::add(), $fp);
fclose($fp);

もしユーザーからアップされたファイルを受信したい場合は、$_FILESを見ればOKです。Ajaxの場合はまず.js上でBase 64に変換してからテキストとして送り、PHP上でtmpfile()などで仮のファイルを作成してから同様の操作をすればOKです。そこら辺は調べてください。

その他のAPIは、Class Dropbox\Client | Dropbox SDK for PHPを見ればわかると思います。
例えば、共有可能なリンクを取得したい場合、

$res=$dropbox->createShareableLink('');

です。

JR西日本の1分以上の遅れを通知するPHP
カテゴリ:Code Archives, PHP, サーバー 投稿日:2017年4月29日

お久しぶりです。
昨日始発より、JR西日本のリアルタイム列車走行位置表示機能が始まりました。 続きを読む

【無料で音アリOK】ドットバイドットなデレステMV録画
カテゴリ:Mobile, デレステ 投稿日:2017年2月25日

2017/03/22 もっと高画質を追求しリライト

前の記事:ドットバイドットなデレステMV(録画もスクショも)
数週間前、デレステのMVのドットバイドット表示法を書きましたが、やっぱり録画したい、それも音ありでと思い立ってやってしまいました。
これは、そんなある日の物語です。 続きを読む

ドットバイドットなデレステMV(録画もスクショも)
カテゴリ:Mobile, デレステ 投稿日:2017年2月8日

2017/02/08 19:16 録画の終了方法などの追記
2017/03/07 15:45 説明の追加

2017/02/25 00:38 音あり録画の記事(一度当記事にも目を通してください)【無料で音アリOK】ドットバイドットなデレステMV録画

お久しぶりです。いつの間にかLet’s Encrypt証明書が切れてしまっていて…今回はデレステのMVの画質の話です。ターゲットはAndroidユーザーです。 続きを読む

     

Follow @Cutls_com