SlideShare a Scribd company logo
ASP.NET Core WebAPIでODataを使おう
2021.02 .NETラボ
誰?
@DevTakas
Angular / Azure / .NET Core / Azure DevOps / Microsoft Graph
Microsoft MVP OfficeDevelopment
誰?
ブログやってます
http://takasdev.hatenablog.com/
「はまったりひらめいたり…とか…」
おしながき
1. ODataとは
2. ASP.NET Core WebAPIでODataを使おう
3. 実際にどのように使用しているのか
4. まとめ
1. ODataとは
• Open Data Protocol
• RESTベースの仕様
• Microsoftが主導して策定
• ISO / OASIS で標準化もされている
• ISO/IEC 20802-1:2016
• ISO/IEC 20802-2:2016
1. ODataとは
-ODataがどんなことができるのか知る
• リソースの取得
{
"@odata.context": "https://localhost:44352/api/$metadata#users",
"value": [
{
"userId": 1,
"name": "1ユーザー"
},
{
"userId": 2,
"name": "2ユーザー"
},
{
"userId": 3,
"name": "3ユーザー"
},
…
GET https://localhost:44352/api/users
1. ODataとは
-ODataがどんなことができるのか知る
• メタデータの取得
<?xml version="1.0" encoding="utf-8"?>
<edmx:Edmx Version="4.0" xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx">
<edmx:DataServices>
<Schema Namespace="DotNetLab2021Feb.Api.Models" xmlns="http://docs.oasis-open.org/odata/ns/edm">
<EntityType Name="User">
<Key>
<PropertyRef Name="userId" />
</Key>
<Property Name="userId" Type="Edm.Int32" Nullable="false" />
<Property Name="name" Type="Edm.String" />
</EntityType>
…
GET https://localhost:44352/api/$metadata
1. ODataとは
-Microsoft Graphを通じてクエリでどんなことができるのか知る
• クエリパラメータの使用
• ODataの仕様書で定義されているクエリパラメータ
• $filter
• $orderby
• $top
• $skip
• $count
• $search
• $select
• $expand
…
1. ODataとは
-Microsoft Graphを通じてクエリでどんなことができるのか知る
• クエリ パラメーターを使用して応答をカスタマイズする -
Microsoft Graph | Microsoft Docs
2. ASP.NET Core WebAPIでODataを使おう
-セットアップまで
• NuGetでパッケージを取得
• Microsoft.AspNetCore.OData
2. ASP.NET Core WebAPIでODataを使おう
-セットアップまで
• Startup.csでOData使用できるようにセットアップ
public void ConfigureServices(IServiceCollection services)
{
…
service.AddOData();
service.AddMvcCore(options => {
foreach (var outputFormat in options.OutputFormatters.OfType…)
{
outputFormat.SupportedMediaTypes.Add(new MediaTypeHeaderValue("application/odata"));
}
foreach (var inputFormat in options.InputFormatters.OfType…)
{
inputFormat.SupportedMediaTypes.Add(new MediaTypeHeaderValue("application/odata"));
}
});
…
}
2. ASP.NET Core WebAPIでODataを使おう
-セットアップまで
• Startup.csでOData使用できるようにセットアップ
public void Configure (IApplicationBuilder app, IWebHostEnvironment env)
{
…
app.UseEndPoints(endpoints => {
endpoints.MapControllers();
endpoints.Count().Select().Filter().Expand().MaxTop(500); // add
endpoints.MapDataRoute(“odataapi”, “api”, GetEdmModel()); // add
});
…
}
2. ASP.NET Core WebAPIでODataを使おう
-セットアップまで
• EdmBuilderでEdmModelの作成
• メタデータ、ODataのルーティングの元ネタ
public IEdmModel GetEdmModel()
{
var builder = new MediaTypeHeaderValue();
builder.EntitySet<User>(“Users");
builder.EntitySet<Sample>(“Samples");
builder.EnableLowerCamelCamase();
…
return builder.GetEdmModel();
}
2. ASP.NET Core WebAPIでODataを使おう
-セットアップまで
• ControllerでODataエンドポイントとなるよう指定
[ApiController]
[Route(“api/[controller]")]
public class SamplesController : ControllerBase
{
…
[HttpGet]
[EnableQuety]
public IEnumrable<Sample> GetSampleData()
{
…
}
}
2. ASP.NET Core WebAPIでODataを使おう
-Tips
• Entity Frameworkと相性がすこぶる良いように感じる
• 標準でモデルと同じプロパティ名で返却される
• 頭文字が大文字になる。LowerCamelCaseにしたい場合は一手間必要
• EdmModelBuilderの設定部分で最初は詰まることになるかも
• 次バージョン(8)から設定方法が地味に変わる
3. 実際にどのように使用しているのか
-共通で使用するようなマスタデータのWebAPIとして
• フィルタが超柔軟なのを活かせる
• いろんなサービスから使われたとしても
クエリパラメータのインターフェイスを気にする必要なし
3. 実際にどのように使用しているのか
-大量データを取り扱う場合
• Top/Skip/NextLink/Filterを利用する
• 必要最低限のデータをTopで取得して初回Loadingを高速に
• 残データをSkipで取得し裏でデータ更新を行う
• Filterを使用して更新が発生したデータも取り込む
3. 実際にどのように使用しているのか
-大量データを取り扱う場合
• Top/Skip/NextLink/Filterを利用する
• 必要最低限のデータをTopで取得して初回Loadingを高速に
• 残データをSkipで取得し裏でデータ更新を行う
• Filterを使用して更新が発生したデータも取り込む
まとめ
• ODataで定義されているクエリパラメータなどを使用すれば
WebAPIを更に便利に活用できるようになる
• ASP.NET Coreでは比較的容易にODataの導入が行える
• Entity Frameworkと相性が良い
• 活用できる幅はかなり大きそうなのでおすすめ。
参考ページ
• Experimenting with OData in ASP.NET Core 3.1 | OData (microsoft.com)
• ASP.NET Core OData 8.0 Preview for .NET 5 | OData (microsoft.com)
• OData - the Best Way to REST
• ISO - ISO/IEC 20802-1:2016 - Information technology — Open data protocol (OData) v4.0 — Part 1: Core
• ISO - ISO/IEC 20802-2:2016 - Information technology — Open data protocol (OData) v4.0 — Part 2: OData JSON Format
• OASIS Open Data Protocol (OData) TC | OASIS (oasis-open.org)
• Understand OData in 6 steps · OData - the Best Way to REST
• OData Version 4.01. Part 1: Protocol (oasis-open.org)
• クエリ パラメーターを使用して応答をカスタマイズする - Microsoft Graph | Microsoft Docs

More Related Content

What's hot

ABRIS: Avro Bridge for Apache Spark with Felipe Melo and Georgi Chochov
 ABRIS: Avro Bridge for Apache Spark with Felipe Melo and Georgi Chochov ABRIS: Avro Bridge for Apache Spark with Felipe Melo and Georgi Chochov
ABRIS: Avro Bridge for Apache Spark with Felipe Melo and Georgi Chochov
Databricks
 
Polyglot persistence @ netflix (CDE Meetup)
Polyglot persistence @ netflix (CDE Meetup) Polyglot persistence @ netflix (CDE Meetup)
Polyglot persistence @ netflix (CDE Meetup)
Roopa Tangirala
 
Drools and jBPM 6 Overview
Drools and jBPM 6 OverviewDrools and jBPM 6 Overview
Drools and jBPM 6 Overview
Mark Proctor
 
Dataiku - From Big Data To Machine Learning
Dataiku - From Big Data To Machine LearningDataiku - From Big Data To Machine Learning
Dataiku - From Big Data To Machine Learning
Dataiku
 
PySpark Best Practices
PySpark Best PracticesPySpark Best Practices
PySpark Best Practices
Cloudera, Inc.
 
YugaByte DB Internals - Storage Engine and Transactions
YugaByte DB Internals - Storage Engine and Transactions YugaByte DB Internals - Storage Engine and Transactions
YugaByte DB Internals - Storage Engine and Transactions
Yugabyte
 
Apache Tez: Accelerating Hadoop Query Processing
Apache Tez: Accelerating Hadoop Query Processing Apache Tez: Accelerating Hadoop Query Processing
Apache Tez: Accelerating Hadoop Query Processing
DataWorks Summit
 
Elassandra: Elasticsearch as a Cassandra Secondary Index (Rémi Trouville, Vin...
Elassandra: Elasticsearch as a Cassandra Secondary Index (Rémi Trouville, Vin...Elassandra: Elasticsearch as a Cassandra Secondary Index (Rémi Trouville, Vin...
Elassandra: Elasticsearch as a Cassandra Secondary Index (Rémi Trouville, Vin...
DataStax
 
Kafka vs kinesis
Kafka vs kinesisKafka vs kinesis
Kafka vs kinesis
Kaushal Lahankar, FRM
 
Hyperspace for Delta Lake
Hyperspace for Delta LakeHyperspace for Delta Lake
Hyperspace for Delta Lake
Databricks
 
Processing Large Data with Apache Spark -- HasGeek
Processing Large Data with Apache Spark -- HasGeekProcessing Large Data with Apache Spark -- HasGeek
Processing Large Data with Apache Spark -- HasGeek
Venkata Naga Ravi
 
Running Airflow Workflows as ETL Processes on Hadoop
Running Airflow Workflows as ETL Processes on HadoopRunning Airflow Workflows as ETL Processes on Hadoop
Running Airflow Workflows as ETL Processes on Hadoop
clairvoyantllc
 
Flink vs. Spark
Flink vs. SparkFlink vs. Spark
Flink vs. Spark
Slim Baltagi
 
Redis + Apache Spark = Swiss Army Knife Meets Kitchen Sink
Redis + Apache Spark = Swiss Army Knife Meets Kitchen SinkRedis + Apache Spark = Swiss Army Knife Meets Kitchen Sink
Redis + Apache Spark = Swiss Army Knife Meets Kitchen Sink
Databricks
 
Introduction to Apache Spark
Introduction to Apache SparkIntroduction to Apache Spark
Introduction to Apache Spark
Rahul Jain
 
Introducing Delta Live Tables: Make Reliable ETL Easy on Delta Lake
Introducing Delta Live Tables: Make Reliable ETL Easy on Delta LakeIntroducing Delta Live Tables: Make Reliable ETL Easy on Delta Lake
Introducing Delta Live Tables: Make Reliable ETL Easy on Delta Lake
Databricks
 
Introduction to Apache Beam
Introduction to Apache BeamIntroduction to Apache Beam
Introduction to Apache Beam
Jean-Baptiste Onofré
 
Enabling Vectorized Engine in Apache Spark
Enabling Vectorized Engine in Apache SparkEnabling Vectorized Engine in Apache Spark
Enabling Vectorized Engine in Apache Spark
Kazuaki Ishizaki
 
Apache Iceberg Presentation for the St. Louis Big Data IDEA
Apache Iceberg Presentation for the St. Louis Big Data IDEAApache Iceberg Presentation for the St. Louis Big Data IDEA
Apache Iceberg Presentation for the St. Louis Big Data IDEA
Adam Doyle
 

What's hot (20)

ABRIS: Avro Bridge for Apache Spark with Felipe Melo and Georgi Chochov
 ABRIS: Avro Bridge for Apache Spark with Felipe Melo and Georgi Chochov ABRIS: Avro Bridge for Apache Spark with Felipe Melo and Georgi Chochov
ABRIS: Avro Bridge for Apache Spark with Felipe Melo and Georgi Chochov
 
Polyglot persistence @ netflix (CDE Meetup)
Polyglot persistence @ netflix (CDE Meetup) Polyglot persistence @ netflix (CDE Meetup)
Polyglot persistence @ netflix (CDE Meetup)
 
Drools and jBPM 6 Overview
Drools and jBPM 6 OverviewDrools and jBPM 6 Overview
Drools and jBPM 6 Overview
 
Dataiku - From Big Data To Machine Learning
Dataiku - From Big Data To Machine LearningDataiku - From Big Data To Machine Learning
Dataiku - From Big Data To Machine Learning
 
PySpark Best Practices
PySpark Best PracticesPySpark Best Practices
PySpark Best Practices
 
YugaByte DB Internals - Storage Engine and Transactions
YugaByte DB Internals - Storage Engine and Transactions YugaByte DB Internals - Storage Engine and Transactions
YugaByte DB Internals - Storage Engine and Transactions
 
Apache Tez: Accelerating Hadoop Query Processing
Apache Tez: Accelerating Hadoop Query Processing Apache Tez: Accelerating Hadoop Query Processing
Apache Tez: Accelerating Hadoop Query Processing
 
Elassandra: Elasticsearch as a Cassandra Secondary Index (Rémi Trouville, Vin...
Elassandra: Elasticsearch as a Cassandra Secondary Index (Rémi Trouville, Vin...Elassandra: Elasticsearch as a Cassandra Secondary Index (Rémi Trouville, Vin...
Elassandra: Elasticsearch as a Cassandra Secondary Index (Rémi Trouville, Vin...
 
Cassandra
CassandraCassandra
Cassandra
 
Kafka vs kinesis
Kafka vs kinesisKafka vs kinesis
Kafka vs kinesis
 
Hyperspace for Delta Lake
Hyperspace for Delta LakeHyperspace for Delta Lake
Hyperspace for Delta Lake
 
Processing Large Data with Apache Spark -- HasGeek
Processing Large Data with Apache Spark -- HasGeekProcessing Large Data with Apache Spark -- HasGeek
Processing Large Data with Apache Spark -- HasGeek
 
Running Airflow Workflows as ETL Processes on Hadoop
Running Airflow Workflows as ETL Processes on HadoopRunning Airflow Workflows as ETL Processes on Hadoop
Running Airflow Workflows as ETL Processes on Hadoop
 
Flink vs. Spark
Flink vs. SparkFlink vs. Spark
Flink vs. Spark
 
Redis + Apache Spark = Swiss Army Knife Meets Kitchen Sink
Redis + Apache Spark = Swiss Army Knife Meets Kitchen SinkRedis + Apache Spark = Swiss Army Knife Meets Kitchen Sink
Redis + Apache Spark = Swiss Army Knife Meets Kitchen Sink
 
Introduction to Apache Spark
Introduction to Apache SparkIntroduction to Apache Spark
Introduction to Apache Spark
 
Introducing Delta Live Tables: Make Reliable ETL Easy on Delta Lake
Introducing Delta Live Tables: Make Reliable ETL Easy on Delta LakeIntroducing Delta Live Tables: Make Reliable ETL Easy on Delta Lake
Introducing Delta Live Tables: Make Reliable ETL Easy on Delta Lake
 
Introduction to Apache Beam
Introduction to Apache BeamIntroduction to Apache Beam
Introduction to Apache Beam
 
Enabling Vectorized Engine in Apache Spark
Enabling Vectorized Engine in Apache SparkEnabling Vectorized Engine in Apache Spark
Enabling Vectorized Engine in Apache Spark
 
Apache Iceberg Presentation for the St. Louis Big Data IDEA
Apache Iceberg Presentation for the St. Louis Big Data IDEAApache Iceberg Presentation for the St. Louis Big Data IDEA
Apache Iceberg Presentation for the St. Louis Big Data IDEA
 

Similar to ASP.NET Core WebAPIでODataを使おう

Cloudstack user group meeting in osaka
Cloudstack user group meeting in osakaCloudstack user group meeting in osaka
Cloudstack user group meeting in osakaNaotaka Jay HOTTA
 
ASP. NET Core 汎用ホスト概要
ASP. NET Core 汎用ホスト概要ASP. NET Core 汎用ホスト概要
ASP. NET Core 汎用ホスト概要
TomomitsuKusaba
 
Dot netcore multiplatform 2
Dot netcore multiplatform 2Dot netcore multiplatform 2
Dot netcore multiplatform 2
shozon
 
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(DevNet編)
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(DevNet編)Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(DevNet編)
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(DevNet編)
シスコシステムズ合同会社
 
Entity Framework(Core)についての概要を学ぼう
Entity Framework(Core)についての概要を学ぼうEntity Framework(Core)についての概要を学ぼう
Entity Framework(Core)についての概要を学ぼう
TomomitsuKusaba
 
スマートフォン向けサービスにおけるサーバサイド設計入門
スマートフォン向けサービスにおけるサーバサイド設計入門スマートフォン向けサービスにおけるサーバサイド設計入門
スマートフォン向けサービスにおけるサーバサイド設計入門Hisashi HATAKEYAMA
 
SQL Beginners Day #1 - SQL Server および Azure SQL のインストールと管理
SQL Beginners Day #1 - SQL Server および Azure SQL のインストールと管理SQL Beginners Day #1 - SQL Server および Azure SQL のインストールと管理
SQL Beginners Day #1 - SQL Server および Azure SQL のインストールと管理
Oshitari_kochi
 
[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介
[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介
[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介david9142
 
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考えるNetラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考えるdavid9142
 
Mvc conf session_5_isami
Mvc conf session_5_isamiMvc conf session_5_isami
Mvc conf session_5_isami
Hiroshi Okunushi
 
Springでdao 20070413
Springでdao 20070413Springでdao 20070413
Springでdao 20070413
Funato Takashi
 
5分で作るMySQL Cluster環境
5分で作るMySQL Cluster環境5分で作るMySQL Cluster環境
5分で作るMySQL Cluster環境
yoyamasaki
 
5分で作るMySQL Cluster環境
5分で作るMySQL Cluster環境5分で作るMySQL Cluster環境
5分で作るMySQL Cluster環境
yoyamasaki
 
Ruby on Rails Tutorial Chapter5-7
Ruby on Rails Tutorial Chapter5-7Ruby on Rails Tutorial Chapter5-7
Ruby on Rails Tutorial Chapter5-7
Sea Mountain
 
はじめての ASP.NET MVC
はじめての ASP.NET MVCはじめての ASP.NET MVC
はじめての ASP.NET MVC
jz5 MATSUE
 
The seminar of asp.net at 201908 sakurug
The seminar of asp.net at 201908 sakurugThe seminar of asp.net at 201908 sakurug
The seminar of asp.net at 201908 sakurug
SAKURUG co.
 
今こそ知りたいSpring Web(Spring Fest 2020講演資料)
今こそ知りたいSpring Web(Spring Fest 2020講演資料)今こそ知りたいSpring Web(Spring Fest 2020講演資料)
今こそ知りたいSpring Web(Spring Fest 2020講演資料)
NTT DATA Technology & Innovation
 
はじめての Azure 開発
はじめての Azure 開発はじめての Azure 開発
はじめての Azure 開発
Yoshitaka Seo
 
Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)
Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)
Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)
NTT DATA Technology & Innovation
 

Similar to ASP.NET Core WebAPIでODataを使おう (20)

Cloudstack user group meeting in osaka
Cloudstack user group meeting in osakaCloudstack user group meeting in osaka
Cloudstack user group meeting in osaka
 
ASP. NET Core 汎用ホスト概要
ASP. NET Core 汎用ホスト概要ASP. NET Core 汎用ホスト概要
ASP. NET Core 汎用ホスト概要
 
Dot netcore multiplatform 2
Dot netcore multiplatform 2Dot netcore multiplatform 2
Dot netcore multiplatform 2
 
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(DevNet編)
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(DevNet編)Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(DevNet編)
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(DevNet編)
 
ASP.NET MVC 1.0
ASP.NET MVC 1.0ASP.NET MVC 1.0
ASP.NET MVC 1.0
 
Entity Framework(Core)についての概要を学ぼう
Entity Framework(Core)についての概要を学ぼうEntity Framework(Core)についての概要を学ぼう
Entity Framework(Core)についての概要を学ぼう
 
スマートフォン向けサービスにおけるサーバサイド設計入門
スマートフォン向けサービスにおけるサーバサイド設計入門スマートフォン向けサービスにおけるサーバサイド設計入門
スマートフォン向けサービスにおけるサーバサイド設計入門
 
SQL Beginners Day #1 - SQL Server および Azure SQL のインストールと管理
SQL Beginners Day #1 - SQL Server および Azure SQL のインストールと管理SQL Beginners Day #1 - SQL Server および Azure SQL のインストールと管理
SQL Beginners Day #1 - SQL Server および Azure SQL のインストールと管理
 
[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介
[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介
[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介
 
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考えるNetラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
 
Mvc conf session_5_isami
Mvc conf session_5_isamiMvc conf session_5_isami
Mvc conf session_5_isami
 
Springでdao 20070413
Springでdao 20070413Springでdao 20070413
Springでdao 20070413
 
5分で作るMySQL Cluster環境
5分で作るMySQL Cluster環境5分で作るMySQL Cluster環境
5分で作るMySQL Cluster環境
 
5分で作るMySQL Cluster環境
5分で作るMySQL Cluster環境5分で作るMySQL Cluster環境
5分で作るMySQL Cluster環境
 
Ruby on Rails Tutorial Chapter5-7
Ruby on Rails Tutorial Chapter5-7Ruby on Rails Tutorial Chapter5-7
Ruby on Rails Tutorial Chapter5-7
 
はじめての ASP.NET MVC
はじめての ASP.NET MVCはじめての ASP.NET MVC
はじめての ASP.NET MVC
 
The seminar of asp.net at 201908 sakurug
The seminar of asp.net at 201908 sakurugThe seminar of asp.net at 201908 sakurug
The seminar of asp.net at 201908 sakurug
 
今こそ知りたいSpring Web(Spring Fest 2020講演資料)
今こそ知りたいSpring Web(Spring Fest 2020講演資料)今こそ知りたいSpring Web(Spring Fest 2020講演資料)
今こそ知りたいSpring Web(Spring Fest 2020講演資料)
 
はじめての Azure 開発
はじめての Azure 開発はじめての Azure 開発
はじめての Azure 開発
 
Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)
Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)
Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)
 

More from DevTakas

Microsoft Graph Toolkitで手軽にM365フロント開発
Microsoft Graph Toolkitで手軽にM365フロント開発Microsoft Graph Toolkitで手軽にM365フロント開発
Microsoft Graph Toolkitで手軽にM365フロント開発
DevTakas
 
Azure Artifactsを触ってみよう
Azure Artifactsを触ってみようAzure Artifactsを触ってみよう
Azure Artifactsを触ってみよう
DevTakas
 
Azure Web PubSub Serviceを触ってみた
Azure Web PubSub Serviceを触ってみたAzure Web PubSub Serviceを触ってみた
Azure Web PubSub Serviceを触ってみた
DevTakas
 
Microsoft Graph Toolkitを使ってGraph開発を体験しよう
 Microsoft Graph Toolkitを使ってGraph開発を体験しよう Microsoft Graph Toolkitを使ってGraph開発を体験しよう
Microsoft Graph Toolkitを使ってGraph開発を体験しよう
DevTakas
 
Azure ADアプリケーションを使用した認証のあれやこれ ASP.NET Core編
Azure ADアプリケーションを使用した認証のあれやこれ ASP.NET Core編Azure ADアプリケーションを使用した認証のあれやこれ ASP.NET Core編
Azure ADアプリケーションを使用した認証のあれやこれ ASP.NET Core編
DevTakas
 
Azure ADアプリケーションを使用した認証のあれやこれ
Azure ADアプリケーションを使用した認証のあれやこれAzure ADアプリケーションを使用した認証のあれやこれ
Azure ADアプリケーションを使用した認証のあれやこれ
DevTakas
 
Microsoft Graphのことはじめ
Microsoft GraphのことはじめMicrosoft Graphのことはじめ
Microsoft Graphのことはじめ
DevTakas
 
Azure Event HubsでGraph変更通知を受け取る
Azure Event HubsでGraph変更通知を受け取るAzure Event HubsでGraph変更通知を受け取る
Azure Event HubsでGraph変更通知を受け取る
DevTakas
 
msal.js v2を触る
msal.js v2を触るmsal.js v2を触る
msal.js v2を触る
DevTakas
 
僕はあなたを監視する(MS Graph Subscriptionのβで公開されたpresencesを使おう!)
僕はあなたを監視する(MS Graph Subscriptionのβで公開されたpresencesを使おう!)僕はあなたを監視する(MS Graph Subscriptionのβで公開されたpresencesを使おう!)
僕はあなたを監視する(MS Graph Subscriptionのβで公開されたpresencesを使おう!)
DevTakas
 
TeamsのチャネルとやりとりするWeb Applicationを作ったお話
TeamsのチャネルとやりとりするWeb Applicationを作ったお話TeamsのチャネルとやりとりするWeb Applicationを作ったお話
TeamsのチャネルとやりとりするWeb Applicationを作ったお話
DevTakas
 
Azure AD Application を使用した認証のアレコレ
Azure AD Applicationを使用した認証のアレコレAzure AD Applicationを使用した認証のアレコレ
Azure AD Application を使用した認証のアレコレ
DevTakas
 
Microsoft Graphの変更通知で遊ぶ
Microsoft Graphの変更通知で遊ぶMicrosoft Graphの変更通知で遊ぶ
Microsoft Graphの変更通知で遊ぶ
DevTakas
 
Microsoft Graphを使ってアプリケーションを作った時の話
Microsoft Graphを使ってアプリケーションを作った時の話Microsoft Graphを使ってアプリケーションを作った時の話
Microsoft Graphを使ってアプリケーションを作った時の話
DevTakas
 
Microsoft Graphことはじめ クエリパラメータ編
Microsoft Graphことはじめ クエリパラメータ編Microsoft Graphことはじめ クエリパラメータ編
Microsoft Graphことはじめ クエリパラメータ編
DevTakas
 
Microsoft Graph完全に理解した気がしてた
Microsoft Graph完全に理解した気がしてたMicrosoft Graph完全に理解した気がしてた
Microsoft Graph完全に理解した気がしてた
DevTakas
 
AzureADの認証で失敗した話
AzureADの認証で失敗した話AzureADの認証で失敗した話
AzureADの認証で失敗した話
DevTakas
 
msal.jsを使う
msal.jsを使うmsal.jsを使う
msal.jsを使う
DevTakas
 

More from DevTakas (18)

Microsoft Graph Toolkitで手軽にM365フロント開発
Microsoft Graph Toolkitで手軽にM365フロント開発Microsoft Graph Toolkitで手軽にM365フロント開発
Microsoft Graph Toolkitで手軽にM365フロント開発
 
Azure Artifactsを触ってみよう
Azure Artifactsを触ってみようAzure Artifactsを触ってみよう
Azure Artifactsを触ってみよう
 
Azure Web PubSub Serviceを触ってみた
Azure Web PubSub Serviceを触ってみたAzure Web PubSub Serviceを触ってみた
Azure Web PubSub Serviceを触ってみた
 
Microsoft Graph Toolkitを使ってGraph開発を体験しよう
 Microsoft Graph Toolkitを使ってGraph開発を体験しよう Microsoft Graph Toolkitを使ってGraph開発を体験しよう
Microsoft Graph Toolkitを使ってGraph開発を体験しよう
 
Azure ADアプリケーションを使用した認証のあれやこれ ASP.NET Core編
Azure ADアプリケーションを使用した認証のあれやこれ ASP.NET Core編Azure ADアプリケーションを使用した認証のあれやこれ ASP.NET Core編
Azure ADアプリケーションを使用した認証のあれやこれ ASP.NET Core編
 
Azure ADアプリケーションを使用した認証のあれやこれ
Azure ADアプリケーションを使用した認証のあれやこれAzure ADアプリケーションを使用した認証のあれやこれ
Azure ADアプリケーションを使用した認証のあれやこれ
 
Microsoft Graphのことはじめ
Microsoft GraphのことはじめMicrosoft Graphのことはじめ
Microsoft Graphのことはじめ
 
Azure Event HubsでGraph変更通知を受け取る
Azure Event HubsでGraph変更通知を受け取るAzure Event HubsでGraph変更通知を受け取る
Azure Event HubsでGraph変更通知を受け取る
 
msal.js v2を触る
msal.js v2を触るmsal.js v2を触る
msal.js v2を触る
 
僕はあなたを監視する(MS Graph Subscriptionのβで公開されたpresencesを使おう!)
僕はあなたを監視する(MS Graph Subscriptionのβで公開されたpresencesを使おう!)僕はあなたを監視する(MS Graph Subscriptionのβで公開されたpresencesを使おう!)
僕はあなたを監視する(MS Graph Subscriptionのβで公開されたpresencesを使おう!)
 
TeamsのチャネルとやりとりするWeb Applicationを作ったお話
TeamsのチャネルとやりとりするWeb Applicationを作ったお話TeamsのチャネルとやりとりするWeb Applicationを作ったお話
TeamsのチャネルとやりとりするWeb Applicationを作ったお話
 
Azure AD Application を使用した認証のアレコレ
Azure AD Applicationを使用した認証のアレコレAzure AD Applicationを使用した認証のアレコレ
Azure AD Application を使用した認証のアレコレ
 
Microsoft Graphの変更通知で遊ぶ
Microsoft Graphの変更通知で遊ぶMicrosoft Graphの変更通知で遊ぶ
Microsoft Graphの変更通知で遊ぶ
 
Microsoft Graphを使ってアプリケーションを作った時の話
Microsoft Graphを使ってアプリケーションを作った時の話Microsoft Graphを使ってアプリケーションを作った時の話
Microsoft Graphを使ってアプリケーションを作った時の話
 
Microsoft Graphことはじめ クエリパラメータ編
Microsoft Graphことはじめ クエリパラメータ編Microsoft Graphことはじめ クエリパラメータ編
Microsoft Graphことはじめ クエリパラメータ編
 
Microsoft Graph完全に理解した気がしてた
Microsoft Graph完全に理解した気がしてたMicrosoft Graph完全に理解した気がしてた
Microsoft Graph完全に理解した気がしてた
 
AzureADの認証で失敗した話
AzureADの認証で失敗した話AzureADの認証で失敗した話
AzureADの認証で失敗した話
 
msal.jsを使う
msal.jsを使うmsal.jsを使う
msal.jsを使う
 

ASP.NET Core WebAPIでODataを使おう