質問編集履歴

5

文章を修正

2022/11/10 08:26

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -29,7 +29,7 @@
29
29
  .net frameWork
30
30
 
31
31
  ##### Mastonetライブラリコード
32
- ```
32
+ ```cs
33
33
 
34
34
  public abstract class BaseHttpClient : IBaseHttpClient
35
35
  {

4

文章とタイトルを修正

2022/11/10 08:25

投稿

退会済みユーザー
test CHANGED
@@ -1 +1 @@
1
- AuthenticationClient().CreateApp()で.json例外が発生する原因と対処が知りたい
1
+ HttpHeaders.Add()関数使い方が知りたい
test CHANGED
@@ -1,25 +1,17 @@
1
- 提示コードですが`///`のコード下記の例外が発生します。これはどう対処したらいいのでしょうか?提示コードは`Mastonet`APIを用いて認証インスタンスを用いてクライアントを作成しているコードですが`///`コメント部のコードでコケてしまいます。
2
- 参考サトのヒト サイト部文章り`https://mstdn.jpは、cloudflare利用して、アクセス制限をかけているようで、403が返っるのではなでしょか?`とあるのですが.jsonを修正すればいいのか?
3
- それとも別のネットワーク系のエラーなのか原因がつかめません。これは何が原因でどう対処すればいいのでしょうか?
1
+ 提示コードですが`///`のコード下記の例外が発生します。これはどう対処したらいいのでしょうか?
2
+ 提示コードは`Mastonet`APIを用いて認証インスタンスを行いたいですが上手くデータが返ってきていないせいか.jsonでエラーが発生するうです。原因としてはmstdn.jpHTTPリクエストでユーザーエージェント入れないとアクセス拒否され仕様のようです。この問題の解決のためUser-agent を操作しgoogle chormを指定すればよとい情報を得たのですがどう修正すればいいのでしょうか?リファレンスを見ましたが引数に何を入れたらいいかわかりません。
4
3
 
5
4
 
6
- ##### 試したこと
7
- 1,プロジェクトファイルの中を見て.jsonファイルを探しましたが見つかりません
8
- 2,似たような他のAPIも試しましたが同じようなエラーが出ます。
9
5
 
10
6
  ##### 例外
11
7
  ```
12
- 例外がスローされました: 'Newtonsoft.Json.JsonReaderException' (mscorlib.dll の中)
8
+ 例外がスローされました: 'System.IO.FileNotFoundException' (ClassLibrary1.dll の中)
13
- 例外がスローされました: 'Newtonsoft.Json.JsonReaderException' (mscorlib.dll の中)
9
+ 例外がスローされました: 'System.IO.FileNotFoundException' (System.Private.CoreLib.dll の中)
14
- 'Newtonsoft.Json.JsonReaderException' のハンドルされていない例外が mscorlib.dll で発生しました
10
+ 例外がスローされました: 'System.IO.FileNotFoundException' (System.Private.CoreLib.dll の中)
15
- Unexpected character encountered while parsing value: e. Path '', line 0, position 0.
11
+ 例外がスローされました: 'System.IO.FileNotFoundException' (System.Private.CoreLib.dll の中)
12
+ 型 'System.IO.FileNotFoundException' の例外が System.Private.CoreLib.dll で発生しましたが、ユーザー コード内ではハンドルされませんでした
13
+ Could not load file or assembly 'Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed'. 指定されたファイルが見つかりません。
16
14
  ```
17
-
18
-
19
- ##### 知りたいこと
20
- 1、ネットワーク、.jsonどっちが原因なのか知りたい。
21
- 2,提示例外の対処方法が知りたい。
22
-
23
15
  ##### 参考サイト
24
16
  認証インスタンスサイト: https://mstdn.jp/
25
17
  A https://kmycode.hatenablog.jp/entry/2017/04/23/113328
@@ -27,6 +19,7 @@
27
19
  C https://makky12.hatenablog.com/entry/2017/05/03/201800
28
20
  エラー: https://ohke.hateblo.jp/entry/2017/04/21/220000
29
21
  ヒント: https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q14236476004
22
+ リファレンス: https://learn.microsoft.com/ja-jp/dotnet/api/system.net.http.headers.httpheaders.add?view=net-7.0
30
23
  ##### 利用ライブラリ
31
24
  Mastonet: https://github.com/glacasa/Mastonet/tree/b04bfdb3cfc1b365b2487c8bbd019e4640293306
32
25
 
@@ -34,6 +27,82 @@
34
27
  Windows 10
35
28
  visual sutido 2022
36
29
  .net frameWork
30
+
31
+ ##### Mastonetライブラリコード
32
+ ```
33
+
34
+ public abstract class BaseHttpClient : IBaseHttpClient
35
+ {
36
+ protected readonly HttpClient client;
37
+ public AppRegistration? AppRegistration { get; set; }
38
+ public Auth? AuthToken { get; set; }
39
+
40
+ #region Instance
41
+ private string instance = string.Empty;
42
+ public string Instance
43
+ {
44
+ get
45
+ {
46
+ return instance;
47
+ }
48
+ set
49
+ {
50
+ CheckInstance(value);
51
+ instance = value;
52
+ }
53
+ }
54
+
55
+ private void CheckInstance(string instance)
56
+ {
57
+ var notSupportedList = new List<string> { "gab.", "truthsocial." };
58
+ var lowered = instance.ToLowerInvariant();
59
+ if (notSupportedList.Any(n => lowered.Contains(n)))
60
+ {
61
+ throw new NotSupportedException();
62
+ }
63
+ }
64
+
65
+ #endregion
66
+
67
+ protected BaseHttpClient(HttpClient client)
68
+ {
69
+ this.client = client;
70
+ }
71
+
72
+ #region Http helpers
73
+ ///////////////////////////////////////////////////////////////////////////////////////////////
74
+ private void AddHttpHeader(HttpRequestMessage request)
75
+ {
76
+ Debug.WriteLine("AuthToken.AccessToken");
77
+ request.Headers.Add("Authorization", "107.0.0.0");
78
+
79
+ if (AuthToken != null)
80
+ {
81
+ Debug.WriteLine("AuthToken.AccessToken " + AuthToken.AccessToken);
82
+ request.Headers.Add("Authorization", "Bearer " + AuthToken.AccessToken);
83
+ }
84
+ }
85
+ ///////////////////////////////////////////////////////////////////////////////////////////////
86
+ protected async Task<string> Delete(string route, IEnumerable<KeyValuePair<string, string>>? data = null)
87
+ {
88
+ string url = "https://" + this.Instance + route;
89
+ if (data != null)
90
+ {
91
+ var querystring = "?" + String.Join("&", data.Select(kvp => kvp.Key + "=" + kvp.Value));
92
+ url += querystring;
93
+ }
94
+
95
+ using (var request = new HttpRequestMessage(HttpMethod.Delete, url))
96
+ {
97
+ AddHttpHeader(request);
98
+ using (var response = await client.SendAsync(request))
99
+ return await response.Content.ReadAsStringAsync();
100
+ }
101
+ }
102
+
103
+ ```
104
+
105
+ ##### ライブラリ利用側コード
37
106
  ```cs
38
107
  using Mastonet;
39
108
  using Mastonet.Entities;

3

文章を修正

2022/11/10 00:02

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -4,9 +4,8 @@
4
4
 
5
5
 
6
6
  ##### 試したこと
7
- プロジェクトファイルの中を見て.jsonファイルを探しましたが見つかりません
7
+ 1,プロジェクトファイルの中を見て.jsonファイルを探しましたが見つかりません
8
- .jsonファイルをどこで動的に読み込んでいるわけではないのでパスの指定がわからず参考サイトような修正するための関数を指定できません。
9
- 似たような他のAPIも試しましたが同じようなエラーが出ます。
8
+ 2,似たような他のAPIも試しましたが同じようなエラーが出ます。
10
9
 
11
10
  ##### 例外
12
11
  ```
@@ -18,7 +17,8 @@
18
17
 
19
18
 
20
19
  ##### 知りたいこと
20
+ 1、ネットワーク、.jsonどっちが原因なのか知りたい。
21
- ,提示エラーの対処方法
21
+ ,提示例外の対処方法が知りたい。
22
22
 
23
23
  ##### 参考サイト
24
24
  認証インスタンスサイト: https://mstdn.jp/

2

文章を修正

2022/11/09 23:59

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -1,10 +1,12 @@
1
- 提示コードですが`///`のコード下記の例外が発生します。これはどう対処したらいいのでしょうか?提示コードは`Mastonet`APIを用いて認証インスタンスを用いてクライアントを作成しているコードですが`///`コメント部のコードでコケてしまいます。参考サイトのヒント サイト部の文章より`https://mstdn.jpは、cloudflareを利用して、アクセス制限をかけているようで、403が返ってるのではないでしょうか?`とあるのでですが.jsonを修正すればいいのか?それとも別のネットワーク系のエラーなのか原因がつかめません。これは何が原因でどう対処すればいいのでしょうか?
1
+ 提示コードですが`///`のコード下記の例外が発生します。これはどう対処したらいいのでしょうか?提示コードは`Mastonet`APIを用いて認証インスタンスを用いてクライアントを作成しているコードですが`///`コメント部のコードでコケてしまいます。
2
+ 参考サイトのヒント サイト部の文章より`https://mstdn.jpは、cloudflareを利用して、アクセス制限をかけているようで、403が返ってるのではないでしょうか?`とあるのでですが.jsonを修正すればいいのか?
3
+ それとも別のネットワーク系のエラーなのか原因がつかめません。これは何が原因でどう対処すればいいのでしょうか?
2
4
 
3
5
 
4
6
  ##### 試したこと
5
7
  プロジェクトファイルの中を見て.jsonファイルを探しましたが見つかりません
6
8
  .jsonファイルをどこで動的に読み込んでいるわけではないのでパスの指定がわからず参考サイトような修正するための関数を指定できません。
7
-
9
+ 似たような他のAPIも試しましたが同じようなエラーが出ます。
8
10
 
9
11
  ##### 例外
10
12
  ```

1

タイトルを修正

2022/11/09 10:40

投稿

退会済みユーザー
test CHANGED
@@ -1 +1 @@
1
- Newtonsoft.Json.JsonReaderException 修正方法が知りたい
1
+ AuthenticationClient().CreateApp()で.jsonの例外が発生する原因と対処方法が知りたい
test CHANGED
File without changes