質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
HTTP

HTTP(Hypertext Transfer Protocol)とはweb上でHTML等のコンテンツを交換するために使われるアプリケーション層の通信プロトコルです。

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity3D

Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

MediaWiki

MediaWikiは、Wikipediaを運営するウィキメディア財団が開発するコラボレーションツールです。複数ユーザーによるコンテンツ管理機能を備えるなど、Wikipediaと同じ操作性や編集機能を持ちます。PHPで記述されており、MySQLやPostgreSQLをデータベースに使用できます。

Q&A

1回答

1957閲覧

RestSharpを導入したところThrowOnAnyErrorと.Getでエラーが発生する

lain62

総合スコア6

HTTP

HTTP(Hypertext Transfer Protocol)とはweb上でHTML等のコンテンツを交換するために使われるアプリケーション層の通信プロトコルです。

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity3D

Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

MediaWiki

MediaWikiは、Wikipediaを運営するウィキメディア財団が開発するコラボレーションツールです。複数ユーザーによるコンテンツ管理機能を備えるなど、Wikipediaと同じ操作性や編集機能を持ちます。PHPで記述されており、MySQLやPostgreSQLをデータベースに使用できます。

0グッド

0クリップ

投稿2022/01/27 11:39

編集2022/01/27 11:59

この記事を参考にwikipediaから特定のカテゴリに属するタイトルを持ってくるコードを書いています。

記事をコピペしてunity仕様に書き換えてrestSharpを導入しても以下のコードで次のエラーが発生します。
エラーの解消方法をご教授願いたいです。
よろしくお願いします。

unityのバージョンは2020.3.13f1です。
エディタはvisual studio2019(16.103)です。

c#

1using UnityEngine; 2using System.Collections; 3using System.Collections.Generic; 4 5using RestSharp; 6using RestSharp.Authenticators; 7 8using System; 9using Newtonsoft.Json.Linq; 10 11 12public class WikipediaManager : MonoBehaviour 13{ 14 void Start() 15 { 16 var titles = GetTitles("Category:日本語の姓"); 17 //File.WriteAllText("日本語の姓.txt", string.Join("\r\n", titles), Encoding.UTF8); 18 foreach (var title in titles) 19 { 20 Debug.Log(title); 21 } 22 } 23 24 private static List<string> GetTitles(string cmtitle) 25 { 26 var titles = new List<string>(); 27///////////////////////////////////エラー1 28 var client = new RestClient("https://ja.wikipedia.org/w/"){ ThrowOnAnyError = true }; 29 string cmcontinue = null; 30 do 31 { 32 var request = new RestRequest("api.php", (Method)DataFormat.Json) 33 .AddParameter("action", "query") 34 .AddParameter("list", "categorymembers") 35 .AddParameter("cmprop", "title") // タイトルのみ取得 36 .AddParameter("format", "json") 37 .AddParameter("cmlimit", "500") 38 .AddParameter("cmtitle", cmtitle); 39 40 if (cmcontinue != null) 41 request.AddParameter("cmcontinue", cmcontinue); 42//////////////////////////////////////////////////////エラー2 43 var response = client.Get(request); 44 var o = JObject.Parse(response.Content); 45 titles.AddRange(o["query"]?["categorymembers"].Select(x => x["title"].ToString())); 46 cmcontinue = o["continue"]?["cmcontinue"]?.ToString(); 47 } while (cmcontinue != null); 48 49 return titles; 50 } 51 52}

エラー1
ThrowOnAnyErrorに波線で「RestClientにThrowOnAnyErrorの定義がありません」
エラー2
.Getに波線で「重大度レベル コード 説明 プロジェクト ファイル 行 抑制状態
エラー CS1061 'RestClient' に 'Get' の定義が含まれておらず、型 'RestClient' の最初の引数を受け付けるアクセス可能な拡張メソッド 'Get' が見つかりませんでした。using ディレクティブまたはアセンブリ参照が不足していないことを確認してください 」。
オブジェクトブラウザでGetの文字列含むメソッドを持つ名前空間を探しましたが、候補が多すぎてどれだかわかりませんでした。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

nuget から取ってきたものをそのまま Unity で使えるとは限らないので(使えることは期待できない)、Unity 用に作られた RestSharp を使うように変えてみたらどうでしょう。

投稿2022/03/02 03:30

bboydaisuke

総合スコア5275

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問