実現したいこと
FreeeAPIの認証をブラウザでのアクセストークン取得を利用しないで認証したい。
(サーバのバッチ処理のタイミングで上記APIを使用したいため)
発生している問題・分からないこと
ブラウザでアクセストークン取得して、FreeeAPIの認証する方法しかネット記事にない。
Freeeに問い合わせたいが有料でのサポートとなっている。(私は無料ユーザ)
該当のソースコード
チャットGPTより、下記のコードを教えて頂き、必要情報を書き換えて実行したが、401で返却された。 using System; using System.Collections.Generic; using System.Net.Http; using System.Net.Http.Headers; using System.Threading.Tasks; class Program { static async Task Main(string[] args) { var clientId = "YOUR_CLIENT_ID"; var clientSecret = "YOUR_CLIENT_SECRET"; using (var client = new HttpClient()) { var request = new HttpRequestMessage(HttpMethod.Post, "https://accounts.secure.freee.co.jp/public_api/token"); var content = new FormUrlEncodedContent(new[] { new KeyValuePair<string, string>("grant_type", "client_credentials"), new KeyValuePair<string, string>("client_id", clientId), new KeyValuePair<string, string>("client_secret", clientSecret) }); request.Content = content; request.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue("application/x-www-form-urlencoded")); var response = await client.SendAsync(request); if (response.IsSuccessStatusCode) { var responseBody = await response.Content.ReadAsStringAsync(); Console.WriteLine(responseBody); } else { Console.WriteLine($"Error: {response.StatusCode}"); var responseBody = await response.Content.ReadAsStringAsync(); Console.WriteLine(responseBody); } } } }
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
ResponseCode:401
補足
特になし
あなたの回答
tips
プレビュー