LINE develpoerで動画送信
やりたいこと
LINE develpoerで指定したmp4ファイルを送る
つまったところ
$post = array(
'type' => 'video',
'originalContentUrl' => 'movie/linetest.mp4',
'previewImageUrl' => 'movie/voice5.png'
);
動画ファイルをローカルから遅れるのかどうか知らないが、試してみてもできなかった
ついでにgoogleドライブに入れてそのリンクを貼り付けても動画を送ることができなかった
どのURL送ればいいんだ
全体のコード
<?php
lineBroadcast('send message');
function lineBroadcast($text){
$channelToken = 'token';
$headers = [
'Authorization: Bearer ' . $channelToken,
'Content-Type: application/json; charset=utf-8',
];
$post = [
"type" => "video",
"originalContentUrl" => "https://symfo.web.fc2.com/sample_src/line/chika.mp4",
"previewImageUrl" => "https://symfo.web.fc2.com/sample_src/line/preview.jpg"
];
$url = 'https://api.line.me/v2/bot/message/broadcast';
$post = json_encode($post);
$ch = curl_init($url);
$options = [
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => $headers,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_BINARYTRANSFER => true,
CURLOPT_HEADER => true,
CURLOPT_POSTFIELDS => $post,
];
curl_setopt_array($ch, $options);
$result = curl_exec($ch);
$errno = curl_errno($ch);
if ($errno) {
print_r($errno);
}else{
echo 'SUCCESS';
}
}
?>
$body = json_encode([
'messages' => [
$message,
]
]);
普通にネットに上がっている動画とimgでよかったっぽい
でも送信ができなかったので意味なし
解決
単純にjsonの書き方が間違っていた messagesというkeyがないため送信することができなかった line apiの使用かわかっていないので調査する必要がある
$post = [
'messages' => [
[
"type" => "video",
"originalContentUrl" => "https://symfo.web.fc2.com/sample_src/line/chika.mp4",
"previewImageUrl" => "https://symfo.web.fc2.com/sample_src/line/preview.jpg"
],
],
];
これがあればいちいち
s3に上げずにサイトからURLを借りて貼り付けるだけでいい
参考
https://symfoware.blog.fc2.com/blog-entry-2389.html
https://blitzgate.co.jp/blog/2089/
https://qomolangma.jp/class/2059/
ついにECサイトできました
完成しました
完成度は低いですができました
僕の最初の一歩です。解説とかしたいんですが疲れたんで画像はって適当にします
また小さいバグとかあったりこんな機能ほしかったなーとかこれもっときれいな書き方あるんだろうなーとかあったんですが、悩んでやっても解決しなかったり、調べても???てなることがたくさんありました。
前回も何枚か画像のせたんで載せてないところのせてきます
とりあえずカートの実装
これがまじで一番つらかった なにがつらいてわからなかった
調べてやっとわかったか・・・?くらい
商品一覧では3×3で 9個表示して 9を超えると上にページ数と次へを出すようにしました。あと価格の高い順、低い順でソートできるようにしました。んでここで個数を指定してカートにもいけますし、商品情報へ飛んで詳細を見てから個数を指定してカートへも飛べます。
ただカートでほんとに単純な計算とカートの中身を空にするくらいしかできません。
あと購入か。
ここでも個数を指定して値段の計算とかできたらなーと考えたんですが、時間かかりそうだったのでやめました。ポイントとかもつけたかったけどやめました。時間かかるから。
あと管理画面です。
管理画面は商品の追加と編集、削除と簡単な機能だけにしています。
商品を追加すると商品一覧に表示し、それをSHOPにも表示できるようにしています。
編集が画面、これも苦労しました。特に特定の商品の編集てどうやって指定するんだよ!!!とか思ってすごくかんがえました。最終的にはGETでなんとか編集したいものだけ編集できるようにして画像、商品名、商品詳細、値段、商品ジャンルを編集できます。正直デザイン的にださくなってしまいましたがその辺はご愛嬌で。
写真が多くて編集がめんどくさいのでとりあえずTOP画面だけ。
これも10件だけ表示できるようにして10件を超えるとページ数と次へ がでるようにしてます。
とりあえずこんなところですかね。たぶん見つけてないバグとか、この機能おかしくね?とかあるんでしょうが、とりあえず完成してうれしいです。 てかうれしいより脱力感がはんぱないですね。
次なにか考えながら、修正できるとこあるか作業していきます。
自分で触ってる分では結構おもしろいです。
復習
復習というかめもというかそんな感じで書いていきます。
自分で書いたコードと教えてもらったコードの書き方とかあって本当に全部理解してるか確認してみたら、案の定わからないところありました。
検索機能のところでDBから値を検索するコードを書いてますがその中で
$stmt->bindValue(1,sprintf('%%%s%%',$search),PDO::PARAM_STR);
の %%%s%%の部分 前々回のところにも書いたけど結局わかってませんでした。
簡単に説明すると %検索文字列% となっている。
%検索文字列% の検索文字列が本文にある検索文字列を含むすべての書籍を検索してくれている。そして%は特殊文字なので %%を重ねて%にしている。
sprintfの引数で%sを使うので最終的に%%%s%%となっている。 かなり苦戦しましたがなんとか理解しました。
掲示板完成しました
タイトルとおり、修正とか機能を付け加えたり消したりして約1週間かけて完成しました。ぶっちゃけ操作したらこの機能おかしくね?て部分あると思いますがそれは仕様です(断言)。てかできなかった。もう完成にさせてたかったんでこれで終わり
ネットにアップしてないんでとりあえず画像だけ貼り付けときます。
流れとしてはまずメイン画面→投稿ボタンを押すとログイン画面→ログインができたら投稿画面→投稿したら確認画面→掲示板に戻る
ログインができていればログイン画面にはいかず投稿画面に飛ぶようにしています。
機能としては削除機能 検索機能 ページャ ファイルアップロードてくらいですね。
削除機能は削除したい番号を入力するとその番号にある本文は”あぼーん”になり画像も消せるようにしました。 検索機能は検索した単語に含まれるものを10件ずつ表示するようにしました。ですが上から10件しか表示せず検索した単語が10以上超えると表示しないというくそみたいな仕様になりました。この辺は考えたんですが難しくてやめましたはい。
あとは名前、本文、投稿時間、投稿番号、ファイル名をDBに格納しています。
PHP学んで約一ヶ月と半月、やっと形になるものができてとてもうれしいです。
手伝ってくれた方や教えてくれた方、本当にありがとうございます。不貞寝もかなり多いですが、がんばって続けていきたいです。
次はもっといいものが作れるように勉強します。
今はユーザー定義関数について学んでますがぶっちゃけ難しくてはげそうです。
まじでわからん。センスを感じないですね。
復習のこととか書こうかなと思いましたが長くなるのでまた明日まとめて書きます。
DBの文字を検索
過去の記事を見たら自分で検索の仕方を投稿してて自分のあほさを痛感しながらまたメモする。
今回はDBの中から検索したい文字を表示するコード
はい、どん。
//検索フォームに値が入ったらbbalistの本文を検索
$sql = 'SELECT * from bbslist where contents like ?';
$stmt = $pdo->prepare($sql);
//%%s%% 解釈後 %検索文字列%
$stmt->execute(array(sprintf('%%%s%%', $search)));
$bbsList = $stmt->fetchAll();
使うSQLは SELECT * FROM テーブル名 WHERE カラム名 like ?;
と
array(sprintf('フォーマットを定義する文字列',差し込む変数 ));
like ?にある?はここだと検索した値や文字を変換?置換してくれるやつみたいです。
んでsprintの中にある %%%s%%% これがよくわからない
sは文字列として扱い表現すると書いてますが その前にある %がわからん
公式では
- % - パーセント文字。引数は不要です。
とかかれており調べてみると「フォーマットの中には「%」で始まり必須の項目である型指定子を指定します。それ以外の指定しはオプションです。」だそうです。
?????
まあよくわからないけど指定しないといけないぽい