「THE 拡散思考」という拡散的思考を活用したアイデア出しアプリを作ったのでアプリの概要ざっと書き残しておきます。
アプリの目的
アイデア出し時の視野を広げることを目的としています。
機能
拡散的思考特化のアプリにしたかったため「ユーザーの入力したワードを元に、関連するワードを大量に表示する」という1機能のみ実装しています。今後も大きな機能追加は予定していません。
内部仕様
特記することはあまりないので、このアプリの根幹機能である関連ワード取得についてのみ書きます。
この機能には「Google Suggest API」を使用しているのですが、APIの仕様が公開されていないようなので結構手探りで使うことになりました。
ちなみにJavaScriptでこのAPIを使う場合はパラメーターにclient=chrome
もしくはclient=firefox
を追加して、レスポンスをtext/javascript
形式で受け取ってjsonpで読み込む必要があります。このAPIについて調べると検索上位の記事に「現在はXMLしか取得できない」などと書かれているわけですが、JavaScriptの場合はどうあがいてもCORSエラーを抜けることができなないため逆にXMLの取得はできないと思います。
以下のコードは実際にAPI取得のときに使っているものです。ご参考までにどうぞ(jsonpの読み込みにはfetch-jsonpというライブラリを使用しています)。
async getSuggestWord(query: string): Promise<string[]> {
return await fetchJsonp(`https://www.google.com/complete/search?hl=ja&client=chrome&q=${query}`).then((res) => res.json()).then((res) => {
const query = res[0];
const words = res[1];
const replacedWords = words.map((word: string) => word.replace(`${query} `, ''));
return replacedWords;
}).catch((err) => {
return [`__error__: ${err}`];
});
},
おわりに
自分で作っておいて言うのものなんですが、なかなか有用なものを作った気がします彡(^)(^)
使っていてすでに直したい部分がいくつかあったので、今後もちまちま更新していこうと思います。おわり。