wp获取memos最新一条说说
首先感谢下GPT…0基础做博客真的太难了,昨天在新购置的阿里云虚拟机上用宝塔配置了memos,反向代理让公网可以访问,我想把首页置顶的说说模块拉取memos上自己最新的一条说说,于是开始研究。
错的代码试了几十次,终于在ai的帮助下实现了,实际上memos的api端口可以很方便的获取数据(例如这里,获取指定ID最新的一条说说),获取到的数据是JSON格式,我需要做的只是从JSON格式的信息中用php的正则表达式来筛选出自己需要的,但是好像这样不行。
好在最终在它的帮助下,成功了~记录下memos api的抓取代码:
<?php // API接口URL $url = 'https://b.ihaihe.cn/api/v1/memo?creatorId=1&rowStatus=NORMAL&limit=1'; // 获取API返回的JSON数据 $response = file_get_contents($url); // 解析JSON数据 $data = json_decode($response, true); // 第二个参数true表示返回关联数组而不是对象 // 检查解析是否成功 if ($data === null && json_last_error() !== JSON_ERROR_NONE) { die("JSON 解析错误: " . json_last_error_msg()); } // 提取 content 字段的值 if (isset($data[0]['content'])) { $content = $data[0]['content']; echo "#" . $content; } else { echo "未找到 content 字段或者数据格式不符合预期。"; } ?>
2024年7月20日,添加修改,如果JSON获取到的数据超过100字,则随机显示设置好的文字:
<?php // API接口URL $url = 'https://b.ihaihe.cn/api/v1/memo?creatorId=1&rowStatus=NORMAL&limit=1'; // 获取API返回的JSON数据 $response = file_get_contents($url); // 解析JSON数据 $data = json_decode($response, true); // 第二个参数true表示返回关联数组而不是对象 // 检查解析是否成功 if ($data === null && json_last_error() !== JSON_ERROR_NONE) { die("JSON 解析错误: " . json_last_error_msg()); } // 提取 content 字段的值 if (isset($data[0]['content'])) { $content = $data[0]['content']; // 预设的提示语数组 $defaultMessages = [ "#阳光温热,岁月静好,你还不来,我怎敢老。", "#那些将要去的地方,都是素未谋面的故乡。", "#我做人的第一原则:关你屁事 关我屁事。", "#时光像肉包子打狗一样,一去不复反。", "#我是一棵树,一棵让你放弃整片森林的树。", "#听了这么多大道理,还是没过好这一生。", "#最好的心理医生,是有钱的自己。" ]; // 检查 content 字段长度 if (mb_strlen($content, 'UTF-8') > 100) { $randomMessage = $defaultMessages[array_rand($defaultMessages)]; echo $randomMessage; } else { echo "#" . $content; } } else { echo "配置错误,请检查JSON数据。"; } ?>
顺便说一句,折腾万岁!~
很厉害了,这么短时间给博客添加了许多功能!
属实很困难,还有很多想要的功能没有做,不过似乎刚开始都是研究代码做各种功能、魔改,后面就是扣文字了。
前段 js 方便很多~
太难了…0基础全靠gpt…
现在有gpt的帮助,折腾博客方便多了,要以前,这些功能只能想想,实现不了
是的,以前没有ai,那时还是用ASP,各种连接数据库各种查,想一个简单的功能 可能需要好几天,现在只需要几句话 代码就运行起来了。
我自己用的 Typecho,原本计画把 Memos 添加到博客的“说说”页。最终,在 gpt 和 perplexity.ai的帮助下,我还是失败了。🗿
也是PHP的建站程序啊 原理是一样的 memos搭建好 做好反向代理 公网能正常访问 加ssl证书,然后从api获取信息,这边PHP里做个独立文件,解析api调用的json数据,最后模板里调用刚才做的文件就好了~~~
获取api就失败了。而且我检查了id也没问题,是1。
你也可以看下木木老师博客的哔哔广场功能 跟着配置下~我们都用的他做的广场程序~https://github.com/lmm214/memobbs