microsoftgraph / microsoftgraph/msgraph-sdk-java
POST Message to Teams Channel with Application-only Permissions Not Allowed for Regular Use Cases
Nessuno ha ancora preso questa issue.
- Lingua principale
- Java
- Stelle
- 444
- Fork
- 154
- Merge medio
- 18h 28m
- PR unite (30g)
- 4
Descrizione
Is your feature request related to a problem? Please describe the problem.
Hello,
I am attempting to use the Microsoft Graph API to send messages to a Microsoft Teams channel using application-only authentication with the following code:
import com.azure.identity.ClientSecretCredential;
import com.azure.identity.ClientSecretCredentialBuilder;
import com.microsoft.graph.models.ChatMessage;
import com.microsoft.graph.models.ItemBody;
import com.microsoft.graph.serviceclient.GraphServiceClient;
public class GraphClientExample {
public static void main(String[] args) throws Exception {
final String clientId = "****-2189-4dab-a9b8-28dc0f57b181";
final String tenantId = "****-4b22-4755-a153-421da388048a";
final String clientSecret = "F1p8Q~**************";
final String[] scopes = new String[] { "https://graph.microsoft.com/.default" };
final ClientSecretCredential credential = new ClientSecretCredentialBuilder()
.clientId(clientId).tenantId(tenantId).clientSecret(clientSecret).build();
if (null == scopes || null == credential) {
throw new Exception("Unexpected error");
}
final GraphServiceClient graphClient = new GraphServiceClient(credential, scopes);
ChatMessage chatMessage = new ChatMessage();
ItemBody body = new ItemBody();
body.setContent("Hello World");
chatMessage.setBody(body);
ChatMessage result = graphClient.teams().byTeamId("459b419d-9d5e-42cd-b59d-*********").channels().byChannelId("19%********************Gu3neGtMFiU8PSRzeaR-uL5AWU1%40thread.tacv2").messages().post(chatMessage);
}
}
However, I am encountering the following error:
Message POST is allowed in application-only context only for import purposes. Refer to https://docs.microsoft.com/microsoftteams/platform/graph-api/import-messages/import-external-messages-to-teams for more details.
From what I understand, the Microsoft Teams API restricts POST requests in the application-only context to migration or import purposes. This means I am unable to use application-only authentication to send messages to a Teams channel.
Question:
Is there a recommended way to send messages to Microsoft Teams channels using application-only authentication in scenarios other than data migration?
If delegated permissions are required, is there an alternative method to authenticate using delegated permissions in a headless application or server environment?
Any insights or workarounds would be greatly appreciated!
Thank you!
Describe the solution you'd like.
Question:
Is there a recommended way to send messages to Microsoft Teams channels using application-only authentication in scenarios other than data migration?
If delegated permissions are required, is there an alternative method to authenticate using delegated permissions in a headless application or server environment?
Any insights or workarounds would be greatly appreciated!
Additional context?
No response
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia con l’esempio Java di GraphServiceClient nell’issue e con la documentazione collegata di Microsoft Teams sull’importazione dei messaggi. Verifica i vincoli documentati per le richieste POST di messaggi di canale con application-only authentication e le opzioni disponibili di delegated authentication per headless services. Il lavoro è completato quando viene documentato un percorso di autenticazione supportato o viene confermato che non esiste alcun workaround supportato.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- java
- Ambito
- api
- Tipo di issue
- Funzionalità
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Stato di attività
- Ferma
- Chiarezza
- Da chiarire
- Idoneità per principianti
- 18/100