Compartir a través de


OAuthProviders.CreateOrUpdateAsync Método

Definición

Crea o actualiza un recurso oauthProvider.

public virtual System.Threading.Tasks.Task<Azure.Response> CreateOrUpdateAsync (string oauthProviderId, Azure.Core.RequestContent content, Azure.RequestContext context = default);
abstract member CreateOrUpdateAsync : string * Azure.Core.RequestContent * Azure.RequestContext -> System.Threading.Tasks.Task<Azure.Response>
override this.CreateOrUpdateAsync : string * Azure.Core.RequestContent * Azure.RequestContext -> System.Threading.Tasks.Task<Azure.Response>
Public Overridable Function CreateOrUpdateAsync (oauthProviderId As String, content As RequestContent, Optional context As RequestContext = Nothing) As Task(Of Response)

Parámetros

oauthProviderId
String

Identificador del recurso oauthProvider.

content
RequestContent

Contenido que se va a enviar como el cuerpo de la solicitud. Los detalles del esquema del cuerpo de la solicitud se encuentran en la sección Comentarios a continuación.

context
RequestContext

Contexto de solicitud, que puede invalidar los comportamientos predeterminados de la canalización de cliente por llamada.

Devoluciones

Respuesta devuelta desde el servicio. Los detalles del esquema del cuerpo de la respuesta se encuentran en la sección Comentarios a continuación.

Excepciones

oauthProviderId o content es null.

oauthProviderId es una cadena vacía y se espera que no esté vacía.

El servicio devolvió un código de estado no correcto.

Ejemplos

En este ejemplo se muestra cómo llamar a CreateOrUpdateAsync con los parámetros necesarios y analizar el resultado.

var credential = new DefaultAzureCredential();
var client = new FarmBeatsClient(credential).GetOAuthProvidersClient(<2022-11-01-preview>);

var data = new {};

Response response = await client.CreateOrUpdateAsync("<oauthProviderId>", RequestContent.Create(data));

JsonElement result = JsonDocument.Parse(response.ContentStream).RootElement;
Console.WriteLine(result.ToString());

En este ejemplo se muestra cómo llamar a CreateOrUpdateAsync con todos los parámetros y el contenido de la solicitud, y cómo analizar el resultado.

var credential = new DefaultAzureCredential();
var client = new FarmBeatsClient(credential).GetOAuthProvidersClient(<2022-11-01-preview>);

var data = new {
    appId = "<appId>",
    appSecret = "<appSecret>",
    apiKey = "<apiKey>",
    isProductionApp = true,
    name = "<name>",
    description = "<description>",
    properties = new {
        key = new {},
    },
};

Response response = await client.CreateOrUpdateAsync("<oauthProviderId>", RequestContent.Create(data));

JsonElement result = JsonDocument.Parse(response.ContentStream).RootElement;
Console.WriteLine(result.GetProperty("appId").ToString());
Console.WriteLine(result.GetProperty("appSecret").ToString());
Console.WriteLine(result.GetProperty("apiKey").ToString());
Console.WriteLine(result.GetProperty("isProductionApp").ToString());
Console.WriteLine(result.GetProperty("id").ToString());
Console.WriteLine(result.GetProperty("eTag").ToString());
Console.WriteLine(result.GetProperty("createdDateTime").ToString());
Console.WriteLine(result.GetProperty("modifiedDateTime").ToString());
Console.WriteLine(result.GetProperty("name").ToString());
Console.WriteLine(result.GetProperty("description").ToString());
Console.WriteLine(result.GetProperty("createdBy").ToString());
Console.WriteLine(result.GetProperty("modifiedBy").ToString());
Console.WriteLine(result.GetProperty("properties").GetProperty("<test>").ToString());

Comentarios

A continuación se muestra el esquema JSON para las cargas de solicitud y respuesta.

Cuerpo de la solicitud:

Esquema para OAuthProvider:

{
  appId: string, # Optional. OAuth App Id for given OAuth Provider.
  appSecret: string, # Optional. OAuth App secret for given Provider.
Note: Won't be sent in response.
  apiKey: string, # Optional. OAuth Api key for given Provider.
Note: currently Applicable to Climate provider. Won't be sent in response.
  isProductionApp: boolean, # Optional. An optional flag to determine if the App is ready to be used for Production scenarios in the provider side or not. (Default value: false)
Note: Currently applicable for JohnDeere.
  id: string, # Optional. Unique OAuth provider ID.
  eTag: string, # Optional. The ETag value to implement optimistic concurrency.
  createdDateTime: string (ISO 8601 Format), # Optional. Date-time when resource was created, sample format: yyyy-MM-ddTHH:mm:ssZ.
  modifiedDateTime: string (ISO 8601 Format), # Optional. Date-time when resource was last modified, sample format: yyyy-MM-ddTHH:mm:ssZ.
  name: string, # Optional. Name to identify resource.
  description: string, # Optional. Textual description of the resource.
  createdBy: string, # Optional. Created by user/tenant id.
  modifiedBy: string, # Optional. Modified by user/tenant id.
  properties: Dictionary<string, any>, # Optional. A collection of key value pairs that belongs to the resource.
Each pair must not have a key greater than 50 characters
and must not have a value greater than 150 characters.
Note: A maximum of 25 key value pairs can be provided for a resource and
only string, numeral and datetime (yyyy-MM-ddTHH:mm:ssZ) values are supported.
}

Cuerpo de la respuesta:

Esquema para OAuthProvider:

{
  appId: string, # Optional. OAuth App Id for given OAuth Provider.
  appSecret: string, # Optional. OAuth App secret for given Provider.
Note: Won't be sent in response.
  apiKey: string, # Optional. OAuth Api key for given Provider.
Note: currently Applicable to Climate provider. Won't be sent in response.
  isProductionApp: boolean, # Optional. An optional flag to determine if the App is ready to be used for Production scenarios in the provider side or not. (Default value: false)
Note: Currently applicable for JohnDeere.
  id: string, # Optional. Unique OAuth provider ID.
  eTag: string, # Optional. The ETag value to implement optimistic concurrency.
  createdDateTime: string (ISO 8601 Format), # Optional. Date-time when resource was created, sample format: yyyy-MM-ddTHH:mm:ssZ.
  modifiedDateTime: string (ISO 8601 Format), # Optional. Date-time when resource was last modified, sample format: yyyy-MM-ddTHH:mm:ssZ.
  name: string, # Optional. Name to identify resource.
  description: string, # Optional. Textual description of the resource.
  createdBy: string, # Optional. Created by user/tenant id.
  modifiedBy: string, # Optional. Modified by user/tenant id.
  properties: Dictionary<string, any>, # Optional. A collection of key value pairs that belongs to the resource.
Each pair must not have a key greater than 50 characters
and must not have a value greater than 150 characters.
Note: A maximum of 25 key value pairs can be provided for a resource and
only string, numeral and datetime (yyyy-MM-ddTHH:mm:ssZ) values are supported.
}

Se aplica a