Blockchain code Metaverse VR

Crypto×VR×SmartContract(487)

スポンサーリンク

//tips

//smart contract

まずはstatuses/home_timelineで試す。

const results = await client.get("statuses/home_timeline");
console.log(JSON.stringify(results, null, 2));

これを行うとターミナルの方でしっかりTwitterの内容が取得できていることがわかった。

ただ、returnされた内容がindex.jsにうまく取り込めていない。

stringifyメソッドは三つの引数を取っているのでメモ。

第二引数の目的は、第一引数で指定したオブジェクトの置き換え。フィルタリングできる。nullが渡された場合にはデフォルトの動作になる。

JSON.stringify({ x: 5, y: 6, z: 7 }, ['x', 'z'])
// '{"x":5,"z":7}'

第三引数では、出力フォーマットにおけるインデントの部分を操作することができ、2とすると2つ分のスペースが出力される。

results.statusesの方でどのような結果になるかを確認。

console.log('results');
console.log(JSON.stringify(results.statuses, null, 2));

こうするとundefinedが返ってくる。

そもそものresults.statusesとはreturnするjsonオブジェクトの中にresultsの中のstatusesをdataとして返すと思っていたがそれが間違っているのかも。

return res.status(200).json({
status: 'Ok',
data: results.statuses

});

一旦参考にしたsearch.jsの方でconsole.log(results.statuses);を確認。

//console.log('results');
//console.log(results.statuses);

でしっかりtweetの中身を取得できていたので、これはstatuses/home_timelineなどによって返ってくる形が変わるためだと認識。search/tweetsのドキュメントと見比べ。home_timelineの方は"statuses”のような大きな括りがないことが確認できた。returnするものをresultsそのものに変更。

https://developer.twitter.com/en/docs/twitter-api/v1/tweets/search/api-reference/get-search-tweets

https://developer.twitter.com/en/docs/twitter-api/v1/tweets/timelines/api-reference/get-statuses-home_timeline

ついに成功。これでボタンを押すことでツイート内容を自動取得することができるようになった。

この後はボタンではなく、セッションがあれば表示を行うようにする。また表示の仕方も綺麗にしていきたい。

if (session) {
handleOnStreamSubmit();

とreturnの前にイベント関数をおけば、ボタンクリックなしで表示ができるか確認。

これで表示はできるが頻繁な更新状態となり、最終的にはエラーで表示されなくなってしまう。

これは一度だけ使うuseeffectで対応できるのではないか検証する。

async function handleOnStreamSubmitb() {

const results = await fetch('/api/twitter/stream', {
//credentials: 'include'
}).then(res => res.json());
//console.log(results);
console.log('hib');

setStatuses(results.data);
}

useEffect(() => {
if (session) {
handleOnStreamSubmitb();
}

},[])

useEffectの第2引数を空([])にすると、初回のみ(クライアントでアプリがマウントされたとき)のみ実行されるので、こちらで実行が成功した。素晴らしい。

参考:

https://zenn.dev/catnose99/articles/2169dae14b58b6

これをカードの中に入れるところまでやりたいところだが、この流れで、他のapiの取得まで考える。

-medium api
https://stackoverflow.com/questions/36097527/how-to-retrieve-medium-stories-for-a-user-from-the-api

https://levelup.gitconnected.com/interacting-with-medium-using-an-api-524c41b2fd74

https://www.youtube.com/watch?v=I2dcpatq54o&ab_channel=SonnySangha

-debank api
https://docs.open.debank.com/en/

https://docs.open.debank.com/en/reference/api-reference/user

-単純なブログページURL情報のカード化

 

人気の記事

1

コロナによる需要変化 コロナパンデミックの影響で、人々は外に出られなくなり、自宅で過ごす時間が増えました。 この自粛ムードの中、下記のようなビジネスの需要変化が引き起こされています。 【利用者減少】 ...

2

米国レストランの決済時に毎日お世話になっていた「Square」のビジネスモデルについて本日はふれていきたいと思います。 「Square」とは、ネットにつながったモバイル端末と専用のカードリーダーを用意 ...

3

無料でネットショップを開けるアプリとして多くの人に驚きを与えたBASE株式会社が、2019年10月25日東証マザーズに上場しました。2020年2月時点で90万店を超えるショップを抱えるまでに成長してい ...

4

2011年にサービスを開始してから圧倒的な成長率を誇るインテリア通販サイト 【FLYMEe/フライミー】を皆さんご存じでしょうか。 「自分のイメージするインテリア、本当に欲しいインテリアがどこにあるの ...

5

ナイキのSNKRSが、なぜこれほどまでに人気なのか?調べてみました。 きっかけは米国での友達との会話。彼は自分のシューズをみせて、「これ20万円もしたんだぜ。」と語ってくれました。 あまり靴に興味がな ...

-Blockchain, code, Metaverse, VR
-, ,

Copyright© BUSINESS HACKER , 2022 All Rights Reserved Powered by AFFINGER5.