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

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

新規登録して質問してみよう
ただいま回答率
86.02%
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

受付中

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

lain62
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をデータベースに使用できます。

1回答

0グッド

0クリップ

1036閲覧

投稿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の文字列含むメソッドを持つ名前空間を探しましたが、候補が多すぎてどれだかわかりませんでした。

以下のような質問にはグッドを送りましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

グッドが多くついた質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

回答1

1

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

投稿2022/03/02 03:30

bboydaisuke

総合スコア4991

lain62👍を押しています

良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。

下記のような回答は推奨されていません。

  • 間違っている回答
  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

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

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

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

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

ただいまの回答率
86.02%

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

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

質問する

関連した質問

同じタグがついた質問を見る

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をデータベースに使用できます。