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


HSPTV!掲示板


未解決 解決 停止 削除要請

2020
1219
よっぴーhspからgs2を使う7未解決


よっぴー

リンク

2020/12/19(Sat) 09:32:59|NO.91948

自作ゲームでオンラインでセーブデータを管理するのにあたって、
Game Server Services(GS2)を使いたいのですが、hspからの利用方法がわかりません。
マニュアル的なものはあるのですが、全く理解できなくて困ってます

https://docs.gs2.io/index.html



この記事に返信する


Cube

リンク

2020/12/20(Sun) 16:29:59|NO.91965

このAPIはGETやPOSTなどのREST APIで提供されているのでhspinetプラグインで利用できます。



TOMATO

リンク

2020/12/20(Sun) 16:46:04|NO.91966

> このAPIはGETやPOSTなどのREST APIで提供されているのでhspinetプラグインで利用できます。

PUTとDELETEはサポートしていないですけどね…。
まぁhspinetの内部ソースを少しいじればすぐに対応できると思いますが。



Cube

リンク

2020/12/20(Sun) 17:22:18|NO.91967

inoviaさんの改造版hspinetでPUTとDELETEが実装されていますね。
https://hsp.moe#hspinet

そしてその改造版はHSP3.6β1で標準搭載されたようです。



TOMATO

リンク

2020/12/20(Sun) 17:32:19|NO.91968

oops! そっちまではチェックしてなかったわ〜
ありがとう。



よっぴー

リンク

2020/12/21(Mon) 22:14:37|NO.91973

すみません。いまいち理解できてないのですが、具体的なサンプルを見せていただけないでしょうか。



fusianasan

リンク

2020/12/22(Tue) 18:26:27|NO.91983

答えになってないかも…

netrequest_delete "FileName" "FileName" : リクエストを行なうファイル名 (プラグイン / モジュール : hspinet) 解説 httpリクエストを行ないます。 netrequest_delete命令により、DELETEリクエストを送信し、指定されたリソース(ファイル名)を削除します。 先に、neturl命令によりファイル名を除いたURLを指定しておく必要があります。 netrequest命令でhttpリクエストを発行した後は、netexec命令により受信処理を スクリプト側で行なう必要があります。 処理が完了した後は、netgetv命令またはnetgetv_data命令により任意の変数でデータを受け取ることができます。
-------------------------------------------------------------------------------------------------------

netrequest_put "FileName",p1 "FileName" : リクエストを行なうファイル名 p1 : PUT用のデータを格納した文字列型変数名 (プラグイン / モジュール : hspinet) 解説 httpリクエストを行ないます。 netrequest_put命令により、PUTリクエストを送信し、指定されたリソースの更新を行うことができます。 先に、neturl命令によりファイル名を除いたURLを指定しておく必要があります。 パラメーターの情報は、netrequest_post命令と同様に、POST形式によるCGIパラメーター受け渡しに対応しています。 "FileName"で、リクエストを行なうファイル名を指定します。 先に、neturl命令によりファイル名を除いたURLを指定しておく必要があります。 p1に、POST用のデータを格納した変数名を指定します。 あらかじめ、変数は文字列型でPOST形式のデータを格納しておく必要があります。 POST形式のデータは、GET形式のURLで指定される「&」で区切られたパラメーターと同様のものになります。 netrequest命令でhttpリクエストを発行した後は、netexec命令により受信処理をスクリプト側で行なう必要があります。 処理が完了した後は、netgetv命令またはnetgetv_data命令により任意の変数でデータを受け取ることができます。 GET形式でCGIにデータをリクエストする場合は、netrequest_get命令を使用してください。
PUTとDELETEを検索シてみてね
https://www.google.com/search?q=DELETE%E3%83%AA%E3%82%AF%E3%82%A8%E3%82%B9%E3%83%88
https://www.google.com/search?q=PUT%E3%83%AA%E3%82%AF%E3%82%A8%E3%82%B9%E3%83%88



Cube

リンク

2020/12/22(Tue) 23:36:10|NO.91988

仮にPOST通信する際の例です。
私自身httpリクエストに関しての知識はあまりないので間違っている部分もあると思います。
ご承知おきを...


/* 例としてlogin時に使用するGS2-AuthにPOSTしてみる https://docs.gs2.io/services/enduser/auth/apis/index.html hspinetの詳しい使い方は命令リファレンスを見てね */ //hspinetプラグインを使用 #include "hspinet.as" //netinitで初期化 netinit postdata = "" response_data = "" /* neturlにはhttpリクエスト先のURLを指定します GS2の場合 https://account.{region}.gs2io.com/ を使用します {region} の部分には利用可能なリージョンを指定します(現在は ap-northeast-1 の東京のみ) */ neturl "https://account.ap-northeast-1.gs2io.com/" /* netheaderにはヘッダーを追加します X-GS2-CLIENT-IDにはGSIのアクセスキー、X-GS2-REQUEST-TIMESTAMPにはUnixタイムスタンプ、X-GS2-REQUEST-SIGNにはリクエストに対する署名を指定します 署名にはHMAC-SHA1が必要だと思われますが、1から実装するのは面倒なのでTakayaさんのTsubuyakiSoupモジュール内にある "getHmacSha1" という変換命令を使用するのも手です unixタイムスタンプはここが参考になります http://hsp.tv/play/pforum.php?mode=all&num=91464 */ netheader "X-GS2-CLIENT-ID: hogehoge\nX-GS2-REQUEST-TIMESTAMP: 123456789\nX-GS2-REQUEST-SIGN: hogehoge\n\n" /* postdataにボディパラメータを追加します この際使用するのは serviceId と userId です */ postdata = "serviceId=hogehoge&userId=user1 /* エンドポイントがloginのURLに送信するためloginを指定 送信パラメータは先程設定したpostdataを送信 */ netrequest_post"login",postdata //レスポンス待ち repeat netexec wr if wr = 1 : break await 1 loop //レスポンスを取得 200 OK で正常に通信完了 netgetv response_data mes response_data //ネット接続の終了 何回もhspinetを利用する場合は一回一回呼び出したほうが良いかも netterm



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