レンタルサーバーでデスクトップ通知はPush7がおすすめ.

2024.10.01

Logging

おはようございます.今日から10月ですね~.この頃はクーラーを夜な夜な付けることもなくなり快適な生活を送っています.夏は好きですけど今年の夏は暑かった.

さてレンタルサーバーでデスクトップ通知はPush7がおすすめです、今のところプッシュ通知を行っている日本企業はここしか知りません.おそらく海外で同じようなAPIサービスはあると思います.

因みにこのサービス、無料版では購買者に一括送信しか出来ませんが980円支払えば個別送信することも可能です.自分がいま作っているサービスは「npush」というものです.このサービスはNHKの番組表から自分が見たい番組をチェックすると前の日にデスクトップ通知が送信されるというもの.あまり需要がなさそうだけど、自分には必要なものなので運用しようと思っています.まずは自分だけ使う感じで他のユーザーさんは番組検索機能だけ開放します.ただし番組表は東京だけですけどね.

技術的な話.デスクトップ通知などはレンタルサーバーが開放されているポートだけでは機能しません.なので、APIサービスを使用せずに制作したい場合はAWSやVPSサーバーなどを使用することをおすすめします.今回、使用したAPIサービスでPushするPHPコードを抜粋して貼っときます.あくまでもテスト用なので、ここから改修が必要になります.また、個別送信したい方は新たにパラメーターを付与してください.詳しくは公式ページのドキュメントを参照くださいませ.

        $apiurl = "https://api.push7.jp/api/v1/";
        $appno = config('app.push7no');
        $apikey = config('app.push7apikey');
        $icon_url = 'https://dashboard.push7.jp/uploads/example.png.webp';
        
        // 送信データ
        $data = array(
            'title' => "通知タイトル", // 通知タイトル
            'body' => "通知テキスト", // 通知テキスト。記事タイトルなど
            'icon' => $icon_url, // アイコンファイル
            'url' => "https://example.com/", // リンク先。記事URLなど
            'apikey' => $apikey
        );
        
        // JSON形式に変換
        $json_data = json_encode($data);
        
        // cURLセッションを初期化
        $ch = curl_init($apiurl . $appno . '/send');
        
        // オプションをセット
        curl_setopt($ch, CURLOPT_POST, true); // POSTメソッドを使用
        curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json')); // ヘッダーにJSON形式を指定
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // レスポンスを文字列で返す
        curl_setopt($ch, CURLOPT_POSTFIELDS, $json_data); // POSTデータをセット
        
        // 実行してレスポンスを取得
        $response = curl_exec($ch);
        
        // エラーチェック
        if (curl_errno($ch)) {
            $error_msg = curl_error($ch);
            log::error("cURLエラー: " . $error_msg); // エラーログ
        } else {
            // レスポンスをデコード
            $response_data = json_decode($response, true);
            log::info($response_data); // レスポンスをログに記録
        }
        
        // cURLセッションを終了
        curl_close($ch);

明日へ続く.

著者名  @taoka_toshiaki

※この記事は著者が40代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

OFUSEで応援を送る

タグ

application, array, config, Content-type, curl_errno, cURLエラー, cURLセッション, else, Error, json_decode, json_encode, log, npush, quot, response, true, アイコンファイル, エラーログ, デコード, パラメーター,

Photo by Igor Haritanovich on Pexels.com

ワードプレスの自動タグ生成するプラグイン再開発。 #wp #tag

2022.12.12

Logging

おはようございます、今年もあと半分とちょっとですね、月曜日のたわわ☕。

さて、今日はワードプレスの自動タグ生成するプラグイン再開発しましたってお話です、この自動タグを生成するツールは以前、作っていたのですがYahoo!APIのバージョンアップに伴い使用出来なくなっていました。その為、プラグインを更新しV2対応をこの度、行ったって話です。もともと日本語記事のタグ自動生成するものは存在していたのですが、それがエラーで使用出来なくなり自分で開発したのが今に至っています。

プラグインをダウンロードして使いたい方は、zipファイルを解凍し解凍したフォルダをサーバーのプラグイン置き場にアップロードすることにより使用出来るようになります。尚、前手順としてYahoo!APIのアプリケーションIDの取得を行う必要があります。

プラグインをダウンロードしたくないという方のためにソースコードを一部貼っときます。

        if (isset($appid)) {
            $endpoint = "https://jlp.yahooapis.jp/KeyphraseService/V2/extract";
            $headers = [
                "Content-Type: application/json",
                "User-Agent: Yahoo AppID: ".$appid,
            ]; 
            $param = [
                "id"=> time(),
                "jsonrpc" => "2.0",
                "method" => "jlp.keyphraseservice.extract",
                "params" => [
                    "q"=>preg_replace("/https?:([a-zA-Z0-9|\/|_|\-|%|@|\*|\.|\?|&|=]){0,}/m","",$content)
                    ]
                ];

                $curl=curl_init($endpoint);
                curl_setopt($curl,CURLOPT_POST, TRUE);
                curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
                curl_setopt($curl,CURLOPT_POSTFIELDS, json_encode($param));
                curl_setopt($curl,CURLOPT_SSL_VERIFYPEER, FALSE);
                curl_setopt($curl,CURLOPT_SSL_VERIFYHOST, FALSE);
                curl_setopt($curl,CURLOPT_RETURNTRANSFER, TRUE);
                
                $response =  json_decode(curl_exec($curl));


            if (isset($response->result->phrases)) {
                foreach ($response->result->phrases as $keys=>$word) {
                    if ($word->text) {
                        $tags[] = $word->text;
                    }
                    if (is_array($tags)) {
                        wp_set_post_tags($post_id, implode(",", array_unique($tags)), false);
                    }
                }
            }
        }

著者名  @taoka_toshiaki

※この記事は著者が40代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

OFUSEで応援を送る

タグ

application, false, foreach, gt, headers, implode, isset, jlp, json_decode, json_encode, keys, PARAM, phrases, quot, quot;User-Agent, response, result, Text, true, VERIFYHOST,