HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2021
1127
アルファ研究所TwitterAPIでタイムラインを取得したい14未解決


アルファ研究所

リンク

2021/11/27(Sat) 18:18:51|NO.94547

HSP3でTwitterAPIのTsubuyakiSoupを利用してタイムラインを取得することは可能でしょうか?
何か方法があればお願いします。



この記事に返信する


アルファ研究所

リンク

2021/11/27(Sat) 18:19:42|NO.94548

ググっても見つかりませんでした



リンク

2021/11/28(Sun) 15:05:40|NO.94554

僕からもお願いします。



とおりすがりの人

リンク

2021/11/28(Sun) 19:21:24|NO.94562

HSP3からTwitterに投稿したい
http://hsp.tv/play/pforum.php?mode=all&num=93135

これが参考になりませんか?



アルファ研究所

リンク

2021/11/29(Mon) 20:03:29|NO.94563

TwitterAPIでHSPからツイートする方法はわかるのですが、タイムラインを取得する方法がわかりません。
文字列は取得できないのでしょうか。



Crystal

リンク

2021/11/29(Mon) 21:06:53|NO.94565

おそらくですが、TsubuyakiSoupの対応しているのは、 Twitter API v1 で様々な制約があります。その一部にタイムラインの取得があったはずです。
現行の、Twitter API v2 ではそれらが利用可能になっているのですが、 TsubuyakiSoupではまだ対応されていないと考えます。ですので、対応を待つか、
ご自身で v2に対応するようにしてみてはどうでしょうか? (GitHubに上がっているので、ソースコードをDLできます)
Twitter API v1 と Twitter API v2 については、 Twitter 公式ヘルプにありますので参照してください。
(あくまで予想です。TsubuyakiSoup のソースをざっと見てタイムライン取得用のものがなかったのでverの違いかなと考えただけです)



アルファ研究所

リンク

2021/12/1(Wed) 20:55:05|NO.94582

実行してみたのですが、ツイートの文章がUnicodeエスケープシーケンスで表示されるのですが、Textの部分を取得して通常の文字列に変換できないのでしょうか。

#include "hsp3utf.as"
#include "TsubuyakiSoup_mod_utf.hsp"
#include "key.hsp"
#include "user32.as"

/*
===========================
このサンプルを実行するには予めkey.hspにTwitterから発行されるIDの登録が必要です
またgettoken.hspを実行しアクセストークンを取得する必要があります
============================
*/

#include "TsubuyakiSoup_Token.hsp"

getUserTimeline "alp_institute",2

if stat ! 200 :MessageBoxW hwnd,"ツイートの取得に失敗しました。"+stat,"ステータスエラー",16

screen 0,800,600
objmode 0
;notesel response
response = "##### HEADER ######\n"+getResponseHeader()+"##### BODY #####\n"+getResponseBody()
;notesave "tweet.log"
mesbox response,ginfo_winx,ginfo_winy,4


stop



zrs90(5さい)

リンク

2021/12/1(Wed) 21:44:15|NO.94584

大変申し訳ありません。

当方の、スマホ操作ミスで、5〜6件、連続投稿してしまい
削除しました。



zrs90(5さい)

リンク

2021/12/1(Wed) 22:31:55|NO.94585

追記。
ユニコードエスケープシーケンスの過去記事

http://hsp.tv/play/pforum.php?mode=all&num=93450



アルファ研究所

リンク

2021/12/8(Wed) 19:09:35|NO.94636

Unicodeエスケープシーケンスの変換はわかるのですが、textの部分だけ取得する方法はないですかね…?



zrs90(5さい)

リンク

2021/12/8(Wed) 21:57:10|NO.94641

申し訳ありません。私、Twitter自体やってないので
分かりませんが...。

ツイートの文章の中に、"text"が含まれているなら

1. ツイートの文章自体を、Unicodeエスケープシーケンス変換する

2. 1.を、note系命令を使って、"text"の部分だけ切り出す。
(※不要な部分を削除するか、必要な部分だけ取り出す)

...の処理では、ダメでしょうか?



アルファ研究所

リンク

2021/12/19(Sun) 08:26:00|NO.94723

jsonのtextのパラメーターを取得して、それを変換したいのですが…。



Crystal

リンク

2021/12/19(Sun) 11:35:40|NO.94724

>jsonのtextのパラメーターを取得して、それを変換したいのですが…。
hspinetにあるjson各命令にjsonのパラ取得→変換するといった命令が実装されていますので調べてみてください。
サンプルソースを書こうと思ったのですが、"text"タグが取得できず、0表記になってしまっていて困っています..



リンク

2021/12/19(Sun) 13:15:26|NO.94725

ありがとうございます



こいる

リンク

2021/12/19(Sun) 17:52:30|NO.94726

hspinetを使う場合は、こんな感じでできると思います。

#include "hspinet.as" (NO.94582のコード) // jsonをファイルから読み込み (任意jsonでのテスト用) /* sdim response notesel response noteload "example_response.json" //*/ // 全ツイートのtextをリスト化 // json読み込み dim jsonPtrRoot jsonopen jsonPtrRoot, response if (jsonPtrRoot == 0) : dialog "jsonの読み込みに失敗" : end // ツイートの階層へ移動 dim jsonPtrTweet jsonnext jsonPtrTweet, , 2 sdim tweetedText sdim tweetedTextList notesel tweetedTextList repeat // textタグを取得 jsongets tweetedText, "text", jsonPtrTweet // リストに追加 noteadd strf("%3d: \"%s\"", cnt + 1, tweetedText) // 次のツイートへ jsonnext jsonPtrTweet, jsonPtrTweet if (jsonPtrTweet == 0) : break loop jsonclose // 作成したリストを表示 mesbox tweetedTextList, ginfo_winx, ginfo_winy, 4

自分はTwitter APIの申請をしていない(サンプルの実行ができない)ので、公式に載っていた「Example Response」のjsonを対象に動作確認しました。
https://developer.twitter.com/en/docs/twitter-api/v1/tweets/timelines/api-reference/get-statuses-user_timeline

ただし、sourceタグ内にクォーテーションマークが付いており、それが構文エラー(VSCode、その他いくつかのソフトで確認)となってjsonの読み込みができなかったみたいなので、そのクォーテーションマークを削除しています。
ページの表記ミスかなにかだと思いたいのですが、実際のレスポンスでもこのクォーテーションマークが付いてしまっているかもしれません……(その場合「jsonの読み込みに失敗」というダイアログがでます)。



記事削除

記事NO.パスワード
(質問が解決したスレッドは他の利用者に活用してもらうため、削除しないようお願いします)

NO.94547への返信

マスコット

好きなマスコットを選んでください。

名前

e-mail
HOME
  1. 初めて利用する方は、HSP3掲示板の使い方をお読みください。
  2. 不要部分の多い長いスクリプトの投稿は ご遠慮ください。
  3. 書き込みは自動改行されません。適度に改行を入れてください。
  4. スクリプトは小文字の<pre>〜</pre>で囲むと見やすく表示できます。

削除用パスワード

解決したら質問者本人がここをチェックしてください。

エラー発生時、再送信すると二重送信になることがあります。
回答が得られたら、お礼書き込み時に[解決]チェックしてください。
SPAM防止のためURLから始まる文章は投稿できません。
SPAM防止のため英文字のみの本文を投稿することはできません。

ONION software Copyright 1997-2021(c) All rights reserved.