I know I can use html and markdown in my incoming webhook, but when I try to embed a link, it does not work. Need help, please
curl -H "Content-Type: application/json" -d "{\"text\": \"<a href=' www.microsoft.com'>visit</a >\"}" <my webhook url>
curl -H "Content-Type: application/json" -d "{\"text\": \"[visit](www.microsoft.com)\"}" <my webhook url>
Standard markdown can be used:
curl --header "Content-Type: application/json" \
--data "{\"text\": \"[visit](https://www.microsoft.com)\"}" \
<my webhook url>
Note that OP omitted the URI scheme, which prevents Teams from identifying the URL as a valid one.
I got the similar issue before, and I found I could use adaptive cards. It's much more powerful! Below is the sample payload.
{
"#type": "MessageCard",
"#context": "http://schema.org/extensions",
"themeColor": "0076D7",
"summary": "a summary",
"sections": [{
"activityTitle": "A title",
"activitySubtitle": "a subtitle",
"markdown": true
}],
"potentialAction": [{
"#type": "ActionCard",
"name": "Visit",
"actions": [{
"#type": "OpenUri",
"name": "Visit",
"targets": [
{ "os": "default", "uri": "https://www.microsoft.com" }
]
}]
}]
}
Related
I'm trying to reset the lock code of my device through android management API but it seems that RESET_PASSWORD doesn't do anything. The endpoint is https://androidmanagement.googleapis.com/v1/enterprises/entrepriseID/devices/deviceID:issueCommand and my payload looks like this
{
"type": "RESET_PASSWORD" ,
"duration": "600s",
"newPassword":"1234",
"resetPasswordFlags":["LOCK_NOW"]
}
Does anyone find any solution ?
I have the same problem with this command :
I find the command in the documentation.
When i execute this CURL, it answer me 200 OK.
curl --location --request POST 'https://androidmanagement.googleapis.com/v1/enterprises/<enterprise>/devices/<device_id>:issueCommand' \
--header 'content-type: application/json' \
--header 'Authorization: Bearer <TOKEN>' \
--data-raw '{
"type": "RESET_PASSWORD",
"duration": "600s"
}'
{
"name": "enterprises/<enterprise>/devices/<device_id>/operations/<operation_id>",
"metadata": {
"#type": "type.googleapis.com/google.android.devicemanagement.v1.Command",
"type": "RESET_PASSWORD",
"createTime": "2022-05-03T09:34:15.913Z",
"duration": "600s",
"userName": "enterprises/<enterprise>/users/<user_id>"
}
}
But, when i try to get the health of the operation, it answer to me an error:
curl --location --request GET 'https://androidmanagement.googleapis.com/v1/enterprises/<enterprise>/devices/<device_id>/operations/<operation_id>' \
--header 'content-type: application/json' \
--header 'Authorization: Bearer <TOKEN>'
Answer (200 OK):
{
"name": "enterprises/<enterprise>/devices/<device_id>/operations/<operation_id>",
"metadata": {
"#type": "type.googleapis.com/google.android.devicemanagement.v1.Command",
"type": "RESET_PASSWORD",
"createTime": "2022-05-03T09:34:15.913Z",
"duration": "600s",
"errorCode": "INVALID_VALUE",
"userName": "enterprises/<enterprise>/users/<user_id>"
},
"done": true,
"error": {
"code": 3
}
}
i don't know which invalid value i put into the params..
More, the LOCK or REBOOT command work correctly without any error for the same device.
Sincerely.
Adrien.
I tried to recreate the scenario using the same settings that you are using and I was able to reset my password and change it to the new password.
device_name = enterprise_name + '/devices/deviceId'
device_json = '''
{
"duration": "600s",
"type": "RESET_PASSWORD",
"newPassword": "12345",
"resetPasswordFlags": [
"LOCK_NOW"
]
}
'''
androidmanagement.enterprises().devices().issueCommand(
name=device_name,
body=json.loads(device_json)
).execute()
This API seems to be working properly in my end. For this API to work properly, please make sure the newPassword value meets any passwordRequirements you have set in the policy. Also, you can check the device if it receives the command as it should lock its screen automatically upon receiving the command.
You can also try using other commands to ensure that the issue is not in your device or connection.
I used Square Oauth to obtain merchant_access_token using the scopes
CUSTOMERS_WRITE
CUSTOMERS_READ
ITEMS_WRITE
ITEMS_READ
MERCHANT_PROFILE_WRITE
MERCHANT_PROFILE_READ
ORDERS_WRITE+ORDERS_READ
PAYMENTS_WRITE
PAYMENTS_READ
PAYMENTS_WRITE_ADDITIONAL_RECIPIENTS
from https://developer.squareup.com/docs/payments-api/take-payments-and-collect-fees
When I run the command, I get Insufficient permissions to set app_fee_money
I tried this from both the Application as well as Postman
What am I doing wrong?
curl --location --request POST 'https://connect.squareupsandbox.com/v2/payments' \
--header 'Square-Version: 2021-01-21' \
--header 'Authorization: Bearer merchant_access_token' \
--header 'Content-Type: application/json' \
--data-raw '{
"source_id": "ccof:customer-card-id-ok",
"idempotency_key": "6726cbd2-7893-4cc3-908e-c54731e9f1fe77979",
"amount_money": {
"amount": 5000,
"currency": "USD"
},
"app_fee_money": {
"amount": 1220,
"currency": "USD"
},
"customer_id": "676YFJE8CCRPZ2K7F9C155JYP8",
"location_id": "LG5CC4T0JXCX9", //Merchant location id
"order_id": "M4C0LcxaW6DNpbyxE7sLypvbFA8zb4F",
"reference_id": "M4C0LcxaW6DNpbyxE7sLypvbFA8zb4F",
"statement_description_identifier": "Organization name",
"note": "Fee note"
}'
PAYMENTS_WRITE_ADDITIONAL_RECIPIENTS was in the code but older version of scopes without it was running, that fixed it. Thanks #sjosey
How to send a message to a channel of MS Team using Graph APÌ?
I have used below commands to generate token for grant_type client_credentials.
curl --location --request POST 'https://login.microsoftonline.com/{tenant_ID}/oauth2/v2.0/token' --header 'Content-Type: application/x-www-form-urlencoded' --data-urlencode 'grant_type=client_credentials' --data-urlencode 'client_id={client_id}' --data-urlencode 'client_secret={client_secret}' --data-urlencode 'scope=https://graph.microsoft.com/.default'
Then using token generated i ran following curl command to get list of channels and it run successfully.
curl --location --request GET 'https://graph.microsoft.com/v1.0/teams/{team_ID}/channels/' \
--header 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJub25jZSI6IjBMa0VQY1V4RjgxWnJOTnlUb2Z1SUFRc2VEVUYwQ25wa3pPcWFiY2wwcjgiLCJhbGciOiJSUzI1NiIsIng1dCI6ImtnMkxZczJUMENUaklmajRydDZKSXluZW4zOCIsImtpZCI6ImtnMkxZczJUMENUaklmajRydDZKSXluZW4zOCJ9.eyJhdWQiOiJodHRwczovL2dyYXBoLm1pY3Jvc29mdC5jb20iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC9lODZiZjgyMS1kNmVhLTQ1MTAtOGZmYi03YzY4NmM2NDU3ZjIvIiwiaWF0IjoxNjA1MzU1NDg5LCJuYmYiOjE2MDUzNTU0ODksImV4cCI6MTYwNTM1OTM4OSwiYWlvIjoiRTJSZ1lPQzZ2dWFYN3Awc2s3WmM0Ym1uNjZjd0FnQT0iLCJhcHBfZGlzcGxheW5hbWUiOiJmeHRlc3QiLCJhcHBpZCI6ImVmYWQzZjlhLWY4MmQtNGNkMS05OTE1LTIwNDA0YjQ2NmYzNyIsImFwcGlkYWNyIjoiMSIsImlkcCI6Imh0dHBzOi8vc3RzLndpbmRvd3MubmV0L2U4NmJmODIxLWQ2ZWEtNDUxMC04ZmZiLTdjNjg2YzY0NTdmMi8iLCJpZHR5cCI6ImFwcCIsIm9pZCI6Ijc2ZmQwM2FlLTE3MDEtNGFiZS1iMmI2LWIwNGVmZWRhYWU4NSIsInJoIjoiMC5BQUFBSWZocjZPcldFRVdQLTN4b2JHUlg4cG9fcmU4dC1ORk1tUlVnUUV0R2J6ZFRBQUEuIiwicm9sZXMiOlsiVGVhbVNldHRpbmdzLlJlYWRXcml0ZS5BbGwiLCJUZWFtTWVtYmVyLlJlYWQuQWxsIiwiUGxhY2UuUmVhZC5BbGwiLCJDaGF0LlVwZGF0ZVBvbGljeVZpb2xhdGlvbi5BbGwiLCJJZGVudGl0eVVzZXJGbG93LlJlYWRXcml0ZS5BbGwiLCJTY2hlZHVsZS5SZWFkV3JpdGUuQWxsIiwiUG9saWN5LlJlYWQuQ29uZGl0aW9uYWxBY2Nlc3MiLCJUZWFtc0FwcEluc3RhbGxhdGlvbi5SZWFkRm9yVXNlci5BbGwiLCJVc2VyU2hpZnRQcmVmZXJlbmNlcy5SZWFkLkFsbCIsIlRlYW13b3JrLk1pZ3JhdGUuQWxsIiwiQ2FsbHMuSm9pbkdyb3VwQ2FsbC5BbGwiLCJFZHVSb3N0ZXIuUmVhZC5BbGwiLCJQb2xpY3kuUmVhZFdyaXRlLlBlcm1pc3Npb25HcmFudCIsIkRldmljZU1hbmFnZW1lbnRNYW5hZ2VkRGV2aWNlcy5SZWFkLkFsbCIsIk9ubGluZU1lZXRpbmdzLlJlYWQuQWxsIiwiQWNjZXNzUmV2aWV3LlJlYWRXcml0ZS5NZW1iZXJzaGlwIiwiRGV2aWNlLlJlYWQuQWxsIiwiUG9saWN5LlJlYWRXcml0ZS5Db25kaXRpb25hbEFjY2VzcyIsIkJpdGxvY2tlcktleS5SZWFkQmFzaWMuQWxsIiwiVGVhbXNUYWIuUmVhZC5BbGwiLCJQb2xpY3kuUmVhZFdyaXRlLkF1dGhlbnRpY2F0aW9uTWV0aG9kIiwiQXBwcm92YWxSZXF1ZXN0LlJlYWRXcml0ZS5DdXN0b21lckxvY2tib3giLCJVc2VyQXV0aGVudGljYXRpb25NZXRob2QuUmVhZC5BbGwiLCJUZWFtc0FjdGl2aXR5LlJlYWQuQWxsIiwiQml0bG9ja2VyS2V5LlJlYWQuQWxsIiwiVGVhbXNBcHAuUmVhZC5BbGwiLCJUZWFtTWVtYmVyLlJlYWRXcml0ZU5vbk93bmVyUm9sZS5BbGwiLCJNYWlsLlJlYWRXcml0ZSIsIlByaW50ZXIuUmVhZC5BbGwiLCJJZGVudGl0eVJpc2tFdmVudC5SZWFkV3JpdGUuQWxsIiwiT3JnQ29udGFjdC5SZWFkLkFsbCIsIlRlYW1zQXBwSW5zdGFsbGF0aW9uLlJlYWRGb3JDaGF0LkFsbCIsIk9ubGluZU1lZXRpbmdzLlJlYWRXcml0ZS5BbGwiLCJEZXZpY2UuUmVhZFdyaXRlLkFsbCIsIlBvbGljeS5SZWFkLlBlcm1pc3Npb25HcmFudCIsIkNoYW5uZWwuRGVsZXRlLkFsbCIsIlVzZXIuUmVhZFdyaXRlLkFsbCIsIlBvbGljeS5SZWFkV3JpdGUuQXV0aGVudGljYXRpb25GbG93cyIsIkRvbWFpbi5SZWFkV3JpdGUuQWxsIiwiQXBwbGljYXRpb24uUmVhZFdyaXRlLk93bmVkQnkiLCJQcmludGVyLlJlYWRXcml0ZS5BbGwiLCJTZWN1cml0eUFjdGlvbnMuUmVhZFdyaXRlLkFsbCIsIkNoYW5uZWxTZXR0aW5ncy5SZWFkLkFsbCIsIlNlY3VyaXR5RXZlbnRzLlJlYWQuQWxsIiwiVGVhbXNUYWIuQ3JlYXRlIiwiVXNlckF1dGhlbnRpY2F0aW9uTWV0aG9kLlJlYWRXcml0ZS5BbGwiLCJEZWxlZ2F0ZWRQZXJtaXNzaW9uR3JhbnQuUmVhZFdyaXRlLkFsbCIsIkNhbGVuZGFycy5SZWFkIiwiTWFpbC5SZWFkQmFzaWMuQWxsIiwiUHJpdmlsZWdlZEFjY2Vzcy5SZWFkLkF6dXJlQUQiLCJQcmludEpvYi5NYW5hZ2UuQWxsIiwiUm9sZU1hbmFnZW1lbnQuUmVhZC5EaXJlY3RvcnkiLCJQb2xpY3kuUmVhZFdyaXRlLkFwcGxpY2F0aW9uQ29uZmlndXJhdGlvbiIsIkVkdUFzc2lnbm1lbnRzLlJlYWRXcml0ZS5BbGwiLCJDaGFubmVsLlJlYWRCYXNpYy5BbGwiLCJTaG9ydE5vdGVzLlJlYWRXcml0ZS5BbGwiLCJQZW9wbGUuUmVhZC5BbGwiLCJUZWFtc0FwcEluc3RhbGxhdGlvbi5SZWFkV3JpdGVTZWxmRm9yVXNlci5BbGwiLCJBcHBsaWNhdGlvbi5SZWFkV3JpdGUuQWxsIiwiQ2FsbHMuSW5pdGlhdGVHcm91cENhbGwuQWxsIiwiR3JvdXAuUmVhZC5BbGwiLCJBZG1pbmlzdHJhdGl2ZVVuaXQuUmVhZC5BbGwiLCJQcmludEpvYi5SZWFkV3JpdGVCYXNpYy5BbGwiLCJUZWFtc0FwcEluc3RhbGxhdGlvbi5SZWFkV3JpdGVTZWxmRm9yQ2hhdC5BbGwiLCJBY2Nlc3NSZXZpZXcuUmVhZFdyaXRlLkFsbCIsIk9uUHJlbWlzZXNQdWJsaXNoaW5nUHJvZmlsZXMuUmVhZFdyaXRlLkFsbCIsIkRpcmVjdG9yeS5SZWFkV3JpdGUuQWxsIiwiVGVhbXNBY3Rpdml0eS5TZW5kIiwiVGVhbXNUYWIuUmVhZFdyaXRlLkFsbCIsIklkZW50aXR5Umlza3lVc2VyLlJlYWRXcml0ZS5BbGwiLCJFZHVBc3NpZ25tZW50cy5SZWFkV3JpdGVCYXNpYy5BbGwiLCJNYWlsYm94U2V0dGluZ3MuUmVhZCIsIkVkdUFkbWluaXN0cmF0aW9uLlJlYWQuQWxsIiwiQ2FsbHMuSm9pbkdyb3VwQ2FsbEFzR3Vlc3QuQWxsIiwiVGhyZWF0SW5kaWNhdG9ycy5SZWFkV3JpdGUuT3duZWRCeSIsIlRlYW1zQXBwSW5zdGFsbGF0aW9uLlJlYWRXcml0ZVNlbGZGb3JUZWFtLkFsbCIsIlNpdGVzLlJlYWQuQWxsIiwiUHJpbnRKb2IuUmVhZC5BbGwiLCJEZXZpY2VNYW5hZ2VtZW50U2VydmljZUNvbmZpZy5SZWFkLkFsbCIsIlNpdGVzLlJlYWRXcml0ZS5BbGwiLCJTZXJ2aWNlTWVzc2FnZS5SZWFkLkFsbCIsIkNvbnRhY3RzLlJlYWRXcml0ZSIsIlRlYW0uQ3JlYXRlIiwiQXBwcm92YWxSZXF1ZXN0LlJlYWRXcml0ZS5BZG1pbkNvbnNlbnRSZXF1ZXN0IiwiR3JvdXAuQ3JlYXRlIiwiR3JvdXAuUmVhZFdyaXRlLkFsbCIsIlRlYW1zQXBwLlJlYWRXcml0ZS5BbGwiLCJTaXRlcy5NYW5hZ2UuQWxsIiwiU2VjdXJpdHlFdmVudHMuUmVhZFdyaXRlLkFsbCIsIk5vdGVzLlJlYWQuQWxsIiwiUHJpbnRKb2IuUmVhZFdyaXRlLkFsbCIsIkVudGl0bGVtZW50TWFuYWdlbWVudC5SZWFkLkFsbCIsIkNhbGxSZWNvcmRzLlJlYWQuQWxsIiwiSWRlbnRpdHlVc2VyRmxvdy5SZWFkLkFsbCIsIlVzZXIuSW52aXRlLkFsbCIsIkNoYXRNZXNzYWdlLlJlYWQuQWxsIiwiRWR1Um9zdGVyLlJlYWRXcml0ZS5BbGwiLCJGaWxlcy5SZWFkV3JpdGUuQWxsIiwiRGlyZWN0b3J5LlJlYWQuQWxsIiwiUm9sZU1hbmFnZW1lbnQuUmVhZC5BbGwiLCJDYWxsUmVjb3JkLVBzdG5DYWxscy5SZWFkLkFsbCIsIlByaXZpbGVnZWRBY2Nlc3MuUmVhZC5BenVyZVJlc291cmNlcyIsIlVzZXIuUmVhZC5BbGwiLCJBcHByb3ZhbFJlcXVlc3QuUmVhZC5BZG1pbkNvbnNlbnRSZXF1ZXN0IiwiRG9tYWluLlJlYWQuQWxsIiwiRWR1QXNzaWdubWVudHMuUmVhZEJhc2ljLkFsbCIsIkVkdVJvc3Rlci5SZWFkQmFzaWMuQWxsIiwiQ2hhbm5lbE1lbWJlci5SZWFkLkFsbCIsIlNjaGVkdWxlLlJlYWQuQWxsIiwiVGVhbXNBcHBJbnN0YWxsYXRpb24uUmVhZFdyaXRlRm9yVXNlci5BbGwiLCJEZXZpY2VNYW5hZ2VtZW50U2VydmljZUNvbmZpZy5SZWFkV3JpdGUuQWxsIiwiVXNlck5vdGlmaWNhdGlvbi5SZWFkV3JpdGUuQ3JlYXRlZEJ5QXBwIiwiR3JvdXBNZW1iZXIuUmVhZC5BbGwiLCJUZWFtTWVtYmVyLlJlYWRXcml0ZS5BbGwiLCJBcHByb3ZhbFJlcXVlc3QuUmVhZC5DdXN0b21lckxvY2tib3giLCJVc2VyU2hpZnRQcmVmZXJlbmNlcy5SZWFkV3JpdGUuQWxsIiwiRGV2aWNlTWFuYWdlbWVudFJCQUMuUmVhZC5BbGwiLCJUcnVzdEZyYW1ld29ya0tleVNldC5SZWFkV3JpdGUuQWxsIiwiSWRlbnRpdHlQcm92aWRlci5SZWFkV3JpdGUuQWxsIiwiRmlsZXMuUmVhZC5BbGwiLCJFbnRpdGxlbWVudE1hbmFnZW1lbnQuUmVhZFdyaXRlLkFsbCIsIk9yZ2FuaXphdGlvbi5SZWFkV3JpdGUuQWxsIiwiRGV2aWNlTWFuYWdlbWVudENvbmZpZ3VyYXRpb24uUmVhZC5BbGwiLCJUZWFtLlJlYWRCYXNpYy5BbGwiLCJQcmludFRhc2tEZWZpbml0aW9uLlJlYWRXcml0ZS5BbGwiLCJNYWlsLlJlYWQiLCJBcHBSb2xlQXNzaWdubWVudC5SZWFkV3JpdGUuQWxsIiwiQ2hhdC5SZWFkLkFsbCIsIkRldmljZU1hbmFnZW1lbnRNYW5hZ2VkRGV2aWNlcy5SZWFkV3JpdGUuQWxsIiwiQ2hhbm5lbE1lc3NhZ2UuUmVhZC5BbGwiLCJQcml2aWxlZ2VkQWNjZXNzLlJlYWRXcml0ZS5BenVyZUFEIiwiVXNlci5FeHBvcnQuQWxsIiwiRWR1QXNzaWdubWVudHMuUmVhZC5BbGwiLCJTZWN1cml0eUFjdGlvbnMuUmVhZC5BbGwiLCJUZWFtc0FwcEluc3RhbGxhdGlvbi5SZWFkV3JpdGVGb3JUZWFtLkFsbCIsIlRocmVhdEFzc2Vzc21lbnQuUmVhZC5BbGwiLCJJZGVudGl0eVByb3ZpZGVyLlJlYWQuQWxsIiwiUHJpdmlsZWdlZEFjY2Vzcy5SZWFkV3JpdGUuQXp1cmVSZXNvdXJjZXMiLCJUZWFtU2V0dGluZ3MuUmVhZC5BbGwiLCJDYWxlbmRhcnMuUmVhZFdyaXRlIiwiSWRlbnRpdHlSaXNreVVzZXIuUmVhZC5BbGwiLCJBY2Nlc3NSZXZpZXcuUmVhZC5BbGwiLCJUZXJtU3RvcmUuUmVhZC5BbGwiLCJFZHVBZG1pbmlzdHJhdGlvbi5SZWFkV3JpdGUuQWxsIiwiTWFpbC5TZW5kIiwiQXBwcm92YWxSZXF1ZXN0LlJlYWRXcml0ZS5Qcml2aWxpZ2VkQWNjZXNzIiwiUHJpdmlsZWdlZEFjY2Vzcy5SZWFkLkF6dXJlQURHcm91cCIsIkNoYXQuUmVhZFdyaXRlLkFsbCIsIkFwcHJvdmFsUmVxdWVzdC5SZWFkV3JpdGUuRW50aXRsZW1lbnRNYW5hZ2VtZW50IiwiVXNlci5NYW5hZ2VJZGVudGl0aWVzLkFsbCIsIkluZm9ybWF0aW9uUHJvdGVjdGlvblBvbGljeS5SZWFkLkFsbCIsIkNoYW5uZWxNZXNzYWdlLlVwZGF0ZVBvbGljeVZpb2xhdGlvbi5BbGwiLCJNYWlsYm94U2V0dGluZ3MuUmVhZFdyaXRlIiwiT3JnYW5pemF0aW9uLlJlYWQuQWxsIiwiQ2hhbm5lbE1lbWJlci5SZWFkV3JpdGUuQWxsIiwiUm9sZU1hbmFnZW1lbnQuUmVhZFdyaXRlLkRpcmVjdG9yeSIsIkdyb3VwTWVtYmVyLlJlYWRXcml0ZS5BbGwiLCJDb250YWN0cy5SZWFkIiwiSWRlbnRpdHlSaXNrRXZlbnQuUmVhZC5BbGwiLCJNYWlsLlJlYWRCYXNpYyIsIkNoYW5uZWxTZXR0aW5ncy5SZWFkV3JpdGUuQWxsIiwiQWRtaW5pc3RyYXRpdmVVbml0LlJlYWRXcml0ZS5BbGwiLCJBdWRpdExvZy5SZWFkLkFsbCIsIkNoYW5uZWwuQ3JlYXRlIiwiUG9saWN5LlJlYWQuQWxsIiwiVGVybVN0b3JlLlJlYWRXcml0ZS5BbGwiLCJBcHByb3ZhbFJlcXVlc3QuUmVhZC5Qcml2aWxpZ2VkQWNjZXNzIiwiTWVtYmVyLlJlYWQuSGlkZGVuIiwiRGV2aWNlTWFuYWdlbWVudENvbmZpZ3VyYXRpb24uUmVhZFdyaXRlLkFsbCIsIkNoYXQuUmVhZEJhc2ljLkFsbCIsIkNhbGxzLkFjY2Vzc01lZGlhLkFsbCIsIkFwcGxpY2F0aW9uLlJlYWQuQWxsIiwiUHJvZ3JhbUNvbnRyb2wuUmVhZC5BbGwiLCJEZXZpY2VNYW5hZ2VtZW50TWFuYWdlZERldmljZXMuUHJpdmlsZWdlZE9wZXJhdGlvbnMuQWxsIiwiU2VydmljZUhlYWx0aC5SZWFkLkFsbCIsIlRlYW1zQXBwSW5zdGFsbGF0aW9uLlJlYWRXcml0ZUZvckNoYXQuQWxsIiwiU2l0ZXMuRnVsbENvbnRyb2wuQWxsIiwiUG9saWN5LlJlYWRXcml0ZS5BdXRob3JpemF0aW9uIiwiRGV2aWNlTWFuYWdlbWVudEFwcHMuUmVhZFdyaXRlLkFsbCIsIkRldmljZU1hbmFnZW1lbnRBcHBzLlJlYWQuQWxsIiwiVGhyZWF0SW5kaWNhdG9ycy5SZWFkLkFsbCIsIlRlYW1zQXBwSW5zdGFsbGF0aW9uLlJlYWRGb3JUZWFtLkFsbCIsIlNob3J0Tm90ZXMuUmVhZC5BbGwiLCJQcm9ncmFtQ29udHJvbC5SZWFkV3JpdGUuQWxsIiwiUmVwb3J0cy5SZWFkLkFsbCIsIlByaW50Sm9iLlJlYWRCYXNpYy5BbGwiLCJDYWxscy5Jbml0aWF0ZS5BbGwiLCJFeHRlcm5hbEl0ZW0uUmVhZFdyaXRlLkFsbCIsIk5vdGVzLlJlYWRXcml0ZS5BbGwiLCJBcHByb3ZhbFJlcXVlc3QuUmVhZC5FbnRpdGxlbWVudE1hbmFnZW1lbnQiLCJEZXZpY2VNYW5hZ2VtZW50UkJBQy5SZWFkV3JpdGUuQWxsIiwiVHJ1c3RGcmFtZXdvcmtLZXlTZXQuUmVhZC5BbGwiLCJQb2xpY3kuUmVhZFdyaXRlLkZlYXR1cmVSb2xsb3V0IiwiUG9saWN5LlJlYWRXcml0ZS5UcnVzdEZyYW1ld29yayIsIlByaXZpbGVnZWRBY2Nlc3MuUmVhZFdyaXRlLkF6dXJlQURHcm91cCJdLCJzdWIiOiI3NmZkMDNhZS0xNzAxLTRhYmUtYjJiNi1iMDRlZmVkYWFlODUiLCJ0ZW5hbnRfcmVnaW9uX3Njb3BlIjoiQVMiLCJ0aWQiOiJlODZiZjgyMS1kNmVhLTQ1MTAtOGZmYi03YzY4NmM2NDU3ZjIiLCJ1dGkiOiJUUHo5bkNvNU8wU2o2R2FYaDZvWEFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjE1OTQ2MjgyNTZ9.NyL_Pf26Xq7ciHP241A8hSxqj2pqgLJSGfGngBdauAmHeFCbxxPQJPGN1OgyFqn_RS5flIgFAtqDU7bEJhuVemYWhngi2Yj-Yu3FCptFwWhpIHp03IeChbjX1CVIR1ESHuCFiH_EQSXAdk9spPB8iW8Yzp5q2gwVwWhxQgbdixXZ-lzT6f6TTBCQqkPkazMFwUxEHQtDXEQfYjdNu5V3W4in1PM5I4EKdo_tw7H4qMG4aImCGtVnX4P_jVEHPkk_8888glqPLmABpd7P6PGxnyirSFox60UFYT2ISe2Xqh5MwE0fGUyEKc_-0MHubmVfm6qbnz_TiZAYqiteZVwmSg'
Below is the response
{
"#odata.context": "https://graph.microsoft.com/v1.0/$metadata#teams('e76f9b0b')/channels",
"#odata.count": 3,
"value": [
{
"id": "19:d893c#thread.tacv2",
"displayName": "General",
"description": null,
"isFavoriteByDefault": null,
"email": "",
"webUrl": "https://teams.microsoft.com/l/channel/19%3a%40thread.tacv2/General?groupId=e76f9b0b-b6d3&tenantId=e86bf",
"membershipType": "standard"
},
{
"id": "19:44e0b#thread.tacv2",
"displayName": "apiSec-Issues",
"description": null,
"isFavoriteByDefault": null,
"email": "",
"webUrl": "https://teams.microsoft.com/l/channel/19%3b0b%40thread.tacv2/apiSec-Issues?groupId=e76f9b0b-b6d3&tenantId=e86bf821-d6ea-4510",
"membershipType": "standard"
},
{
"id": "19:721251965a30#thread.tacv2",
"displayName": "Dev",
"description": "This channel is where we debate all future development plans",
"isFavoriteByDefault": null,
"email": "",
"webUrl": "https://teams.microsoft.com/l/channel/19%330%40thread.tacv2/Dev?groupId=e76f9b0b-b6d3-42bb-baf1-6a798e4&tenantId=e86bf821-d6ea-4510-8ffb-7c686c64",
"membershipType": "standard"
}
]
}
However it throws unauthorized error when tried to post/sent a message to a channel using token generated from above mention curl command
curl --location --request POST 'https://graph.microsoft.com/v1.0/teams/{team_ID}/channels/{channel_ID}/messages/' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJub25jZSI6IlRiYnhpOWlNZWZaTUZOaDNhNERIVDdlakNheU5QR1V2X3RhYzdwM3hxMVEiLCJhbGciOiJSUzI1NiIsIng1dCI6ImtnMkxZczJUMENUaklmajRydDZKSXluZW4zOCIsImtpZCI6ImtnMkxZczJUMENUaklmajRydDZKSXluZW4zOCJ9.eyJhdWQiOiJodHRwczovL2dyYXBoLm1pY3Jvc29mdC5jb20iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC9lODZiZjgyMS1kNmVhLTQ1MTAtOGZmYi03YzY4NmM2NDU3ZjIvIiwiaWF0IjoxNjA1MzU4MDY4LCJuYmYiOjE2MDUzNTgwNjgsImV4cCI6MTYwNTM2MTk2OCwiYWlvIjoiRTJSZ1lQRHFkS2g5ekN1ZlVMYklWME12NGlZM0FBPT0iLCJhcHBfZGlzcGxheW5hbWUiOiJmeHRlc3QiLCJhcHBpZCI6ImVmYWQzZjlhLWY4MmQtNGNkMS05OTE1LTIwNDA0YjQ2NmYzNyIsImFwcGlkYWNyIjoiMSIsImlkcCI6Imh0dHBzOi8vc3RzLndpbmRvd3MubmV0L2U4NmJmODIxLWQ2ZWEtNDUxMC04ZmZiLTdjNjg2YzY0NTdmMi8iLCJpZHR5cCI6ImFwcCIsIm9pZCI6Ijc2ZmQwM2FlLTE3MDEtNGFiZS1iMmI2LWIwNGVmZWRhYWU4NSIsInJoIjoiMC5BQUFBSWZocjZPcldFRVdQLTN4b2JHUlg4cG9fcmU4dC1ORk1tUlVnUUV0R2J6ZFRBQUEuIiwicm9sZXMiOlsiVGVhbVNldHRpbmdzLlJlYWRXcml0ZS5BbGwiLCJUZWFtTWVtYmVyLlJlYWQuQWxsIiwiUGxhY2UuUmVhZC5BbGwiLCJDaGF0LlVwZGF0ZVBvbGljeVZpb2xhdGlvbi5BbGwiLCJJZGVudGl0eVVzZXJGbG93LlJlYWRXcml0ZS5BbGwiLCJTY2hlZHVsZS5SZWFkV3JpdGUuQWxsIiwiUG9saWN5LlJlYWQuQ29uZGl0aW9uYWxBY2Nlc3MiLCJUZWFtc0FwcEluc3RhbGxhdGlvbi5SZWFkRm9yVXNlci5BbGwiLCJVc2VyU2hpZnRQcmVmZXJlbmNlcy5SZWFkLkFsbCIsIlRlYW13b3JrLk1pZ3JhdGUuQWxsIiwiQ2FsbHMuSm9pbkdyb3VwQ2FsbC5BbGwiLCJFZHVSb3N0ZXIuUmVhZC5BbGwiLCJQb2xpY3kuUmVhZFdyaXRlLlBlcm1pc3Npb25HcmFudCIsIkRldmljZU1hbmFnZW1lbnRNYW5hZ2VkRGV2aWNlcy5SZWFkLkFsbCIsIk9ubGluZU1lZXRpbmdzLlJlYWQuQWxsIiwiQWNjZXNzUmV2aWV3LlJlYWRXcml0ZS5NZW1iZXJzaGlwIiwiRGV2aWNlLlJlYWQuQWxsIiwiUG9saWN5LlJlYWRXcml0ZS5Db25kaXRpb25hbEFjY2VzcyIsIkJpdGxvY2tlcktleS5SZWFkQmFzaWMuQWxsIiwiVGVhbXNUYWIuUmVhZC5BbGwiLCJQb2xpY3kuUmVhZFdyaXRlLkF1dGhlbnRpY2F0aW9uTWV0aG9kIiwiQXBwcm92YWxSZXF1ZXN0LlJlYWRXcml0ZS5DdXN0b21lckxvY2tib3giLCJVc2VyQXV0aGVudGljYXRpb25NZXRob2QuUmVhZC5BbGwiLCJUZWFtc0FjdGl2aXR5LlJlYWQuQWxsIiwiQml0bG9ja2VyS2V5LlJlYWQuQWxsIiwiVGVhbXNBcHAuUmVhZC5BbGwiLCJUZWFtTWVtYmVyLlJlYWRXcml0ZU5vbk93bmVyUm9sZS5BbGwiLCJNYWlsLlJlYWRXcml0ZSIsIlByaW50ZXIuUmVhZC5BbGwiLCJJZGVudGl0eVJpc2tFdmVudC5SZWFkV3JpdGUuQWxsIiwiT3JnQ29udGFjdC5SZWFkLkFsbCIsIlRlYW1zQXBwSW5zdGFsbGF0aW9uLlJlYWRGb3JDaGF0LkFsbCIsIk9ubGluZU1lZXRpbmdzLlJlYWRXcml0ZS5BbGwiLCJEZXZpY2UuUmVhZFdyaXRlLkFsbCIsIlBvbGljeS5SZWFkLlBlcm1pc3Npb25HcmFudCIsIkNoYW5uZWwuRGVsZXRlLkFsbCIsIlVzZXIuUmVhZFdyaXRlLkFsbCIsIlBvbGljeS5SZWFkV3JpdGUuQXV0aGVudGljYXRpb25GbG93cyIsIkRvbWFpbi5SZWFkV3JpdGUuQWxsIiwiQXBwbGljYXRpb24uUmVhZFdyaXRlLk93bmVkQnkiLCJQcmludGVyLlJlYWRXcml0ZS5BbGwiLCJTZWN1cml0eUFjdGlvbnMuUmVhZFdyaXRlLkFsbCIsIkNoYW5uZWxTZXR0aW5ncy5SZWFkLkFsbCIsIlNlY3VyaXR5RXZlbnRzLlJlYWQuQWxsIiwiVGVhbXNUYWIuQ3JlYXRlIiwiVXNlckF1dGhlbnRpY2F0aW9uTWV0aG9kLlJlYWRXcml0ZS5BbGwiLCJEZWxlZ2F0ZWRQZXJtaXNzaW9uR3JhbnQuUmVhZFdyaXRlLkFsbCIsIkNhbGVuZGFycy5SZWFkIiwiTWFpbC5SZWFkQmFzaWMuQWxsIiwiUHJpdmlsZWdlZEFjY2Vzcy5SZWFkLkF6dXJlQUQiLCJQcmludEpvYi5NYW5hZ2UuQWxsIiwiUm9sZU1hbmFnZW1lbnQuUmVhZC5EaXJlY3RvcnkiLCJQb2xpY3kuUmVhZFdyaXRlLkFwcGxpY2F0aW9uQ29uZmlndXJhdGlvbiIsIkVkdUFzc2lnbm1lbnRzLlJlYWRXcml0ZS5BbGwiLCJDaGFubmVsLlJlYWRCYXNpYy5BbGwiLCJTaG9ydE5vdGVzLlJlYWRXcml0ZS5BbGwiLCJQZW9wbGUuUmVhZC5BbGwiLCJUZWFtc0FwcEluc3RhbGxhdGlvbi5SZWFkV3JpdGVTZWxmRm9yVXNlci5BbGwiLCJBcHBsaWNhdGlvbi5SZWFkV3JpdGUuQWxsIiwiQ2FsbHMuSW5pdGlhdGVHcm91cENhbGwuQWxsIiwiR3JvdXAuUmVhZC5BbGwiLCJBZG1pbmlzdHJhdGl2ZVVuaXQuUmVhZC5BbGwiLCJQcmludEpvYi5SZWFkV3JpdGVCYXNpYy5BbGwiLCJUZWFtc0FwcEluc3RhbGxhdGlvbi5SZWFkV3JpdGVTZWxmRm9yQ2hhdC5BbGwiLCJBY2Nlc3NSZXZpZXcuUmVhZFdyaXRlLkFsbCIsIk9uUHJlbWlzZXNQdWJsaXNoaW5nUHJvZmlsZXMuUmVhZFdyaXRlLkFsbCIsIkRpcmVjdG9yeS5SZWFkV3JpdGUuQWxsIiwiVGVhbXNBY3Rpdml0eS5TZW5kIiwiVGVhbXNUYWIuUmVhZFdyaXRlLkFsbCIsIklkZW50aXR5Umlza3lVc2VyLlJlYWRXcml0ZS5BbGwiLCJFZHVBc3NpZ25tZW50cy5SZWFkV3JpdGVCYXNpYy5BbGwiLCJNYWlsYm94U2V0dGluZ3MuUmVhZCIsIkVkdUFkbWluaXN0cmF0aW9uLlJlYWQuQWxsIiwiQ2FsbHMuSm9pbkdyb3VwQ2FsbEFzR3Vlc3QuQWxsIiwiVGhyZWF0SW5kaWNhdG9ycy5SZWFkV3JpdGUuT3duZWRCeSIsIlRlYW1zQXBwSW5zdGFsbGF0aW9uLlJlYWRXcml0ZVNlbGZGb3JUZWFtLkFsbCIsIlNpdGVzLlJlYWQuQWxsIiwiUHJpbnRKb2IuUmVhZC5BbGwiLCJEZXZpY2VNYW5hZ2VtZW50U2VydmljZUNvbmZpZy5SZWFkLkFsbCIsIlNpdGVzLlJlYWRXcml0ZS5BbGwiLCJTZXJ2aWNlTWVzc2FnZS5SZWFkLkFsbCIsIkNvbnRhY3RzLlJlYWRXcml0ZSIsIlRlYW0uQ3JlYXRlIiwiQXBwcm92YWxSZXF1ZXN0LlJlYWRXcml0ZS5BZG1pbkNvbnNlbnRSZXF1ZXN0IiwiR3JvdXAuQ3JlYXRlIiwiR3JvdXAuUmVhZFdyaXRlLkFsbCIsIlRlYW1zQXBwLlJlYWRXcml0ZS5BbGwiLCJTaXRlcy5NYW5hZ2UuQWxsIiwiU2VjdXJpdHlFdmVudHMuUmVhZFdyaXRlLkFsbCIsIk5vdGVzLlJlYWQuQWxsIiwiUHJpbnRKb2IuUmVhZFdyaXRlLkFsbCIsIkVudGl0bGVtZW50TWFuYWdlbWVudC5SZWFkLkFsbCIsIkNhbGxSZWNvcmRzLlJlYWQuQWxsIiwiSWRlbnRpdHlVc2VyRmxvdy5SZWFkLkFsbCIsIlVzZXIuSW52aXRlLkFsbCIsIkNoYXRNZXNzYWdlLlJlYWQuQWxsIiwiRWR1Um9zdGVyLlJlYWRXcml0ZS5BbGwiLCJGaWxlcy5SZWFkV3JpdGUuQWxsIiwiRGlyZWN0b3J5LlJlYWQuQWxsIiwiUm9sZU1hbmFnZW1lbnQuUmVhZC5BbGwiLCJDYWxsUmVjb3JkLVBzdG5DYWxscy5SZWFkLkFsbCIsIlByaXZpbGVnZWRBY2Nlc3MuUmVhZC5BenVyZVJlc291cmNlcyIsIlVzZXIuUmVhZC5BbGwiLCJBcHByb3ZhbFJlcXVlc3QuUmVhZC5BZG1pbkNvbnNlbnRSZXF1ZXN0IiwiRG9tYWluLlJlYWQuQWxsIiwiRWR1QXNzaWdubWVudHMuUmVhZEJhc2ljLkFsbCIsIkVkdVJvc3Rlci5SZWFkQmFzaWMuQWxsIiwiQ2hhbm5lbE1lbWJlci5SZWFkLkFsbCIsIlNjaGVkdWxlLlJlYWQuQWxsIiwiVGVhbXNBcHBJbnN0YWxsYXRpb24uUmVhZFdyaXRlRm9yVXNlci5BbGwiLCJEZXZpY2VNYW5hZ2VtZW50U2VydmljZUNvbmZpZy5SZWFkV3JpdGUuQWxsIiwiVXNlck5vdGlmaWNhdGlvbi5SZWFkV3JpdGUuQ3JlYXRlZEJ5QXBwIiwiR3JvdXBNZW1iZXIuUmVhZC5BbGwiLCJUZWFtTWVtYmVyLlJlYWRXcml0ZS5BbGwiLCJBcHByb3ZhbFJlcXVlc3QuUmVhZC5DdXN0b21lckxvY2tib3giLCJVc2VyU2hpZnRQcmVmZXJlbmNlcy5SZWFkV3JpdGUuQWxsIiwiRGV2aWNlTWFuYWdlbWVudFJCQUMuUmVhZC5BbGwiLCJUcnVzdEZyYW1ld29ya0tleVNldC5SZWFkV3JpdGUuQWxsIiwiSWRlbnRpdHlQcm92aWRlci5SZWFkV3JpdGUuQWxsIiwiRmlsZXMuUmVhZC5BbGwiLCJFbnRpdGxlbWVudE1hbmFnZW1lbnQuUmVhZFdyaXRlLkFsbCIsIk9yZ2FuaXphdGlvbi5SZWFkV3JpdGUuQWxsIiwiRGV2aWNlTWFuYWdlbWVudENvbmZpZ3VyYXRpb24uUmVhZC5BbGwiLCJUZWFtLlJlYWRCYXNpYy5BbGwiLCJQcmludFRhc2tEZWZpbml0aW9uLlJlYWRXcml0ZS5BbGwiLCJNYWlsLlJlYWQiLCJBcHBSb2xlQXNzaWdubWVudC5SZWFkV3JpdGUuQWxsIiwiQ2hhdC5SZWFkLkFsbCIsIkRldmljZU1hbmFnZW1lbnRNYW5hZ2VkRGV2aWNlcy5SZWFkV3JpdGUuQWxsIiwiQ2hhbm5lbE1lc3NhZ2UuUmVhZC5BbGwiLCJQcml2aWxlZ2VkQWNjZXNzLlJlYWRXcml0ZS5BenVyZUFEIiwiVXNlci5FeHBvcnQuQWxsIiwiRWR1QXNzaWdubWVudHMuUmVhZC5BbGwiLCJTZWN1cml0eUFjdGlvbnMuUmVhZC5BbGwiLCJUZWFtc0FwcEluc3RhbGxhdGlvbi5SZWFkV3JpdGVGb3JUZWFtLkFsbCIsIlRocmVhdEFzc2Vzc21lbnQuUmVhZC5BbGwiLCJJZGVudGl0eVByb3ZpZGVyLlJlYWQuQWxsIiwiUHJpdmlsZWdlZEFjY2Vzcy5SZWFkV3JpdGUuQXp1cmVSZXNvdXJjZXMiLCJUZWFtU2V0dGluZ3MuUmVhZC5BbGwiLCJDYWxlbmRhcnMuUmVhZFdyaXRlIiwiSWRlbnRpdHlSaXNreVVzZXIuUmVhZC5BbGwiLCJBY2Nlc3NSZXZpZXcuUmVhZC5BbGwiLCJUZXJtU3RvcmUuUmVhZC5BbGwiLCJFZHVBZG1pbmlzdHJhdGlvbi5SZWFkV3JpdGUuQWxsIiwiTWFpbC5TZW5kIiwiQXBwcm92YWxSZXF1ZXN0LlJlYWRXcml0ZS5Qcml2aWxpZ2VkQWNjZXNzIiwiUHJpdmlsZWdlZEFjY2Vzcy5SZWFkLkF6dXJlQURHcm91cCIsIkNoYXQuUmVhZFdyaXRlLkFsbCIsIkFwcHJvdmFsUmVxdWVzdC5SZWFkV3JpdGUuRW50aXRsZW1lbnRNYW5hZ2VtZW50IiwiVXNlci5NYW5hZ2VJZGVudGl0aWVzLkFsbCIsIkluZm9ybWF0aW9uUHJvdGVjdGlvblBvbGljeS5SZWFkLkFsbCIsIkNoYW5uZWxNZXNzYWdlLlVwZGF0ZVBvbGljeVZpb2xhdGlvbi5BbGwiLCJNYWlsYm94U2V0dGluZ3MuUmVhZFdyaXRlIiwiT3JnYW5pemF0aW9uLlJlYWQuQWxsIiwiQ2hhbm5lbE1lbWJlci5SZWFkV3JpdGUuQWxsIiwiUm9sZU1hbmFnZW1lbnQuUmVhZFdyaXRlLkRpcmVjdG9yeSIsIkdyb3VwTWVtYmVyLlJlYWRXcml0ZS5BbGwiLCJDb250YWN0cy5SZWFkIiwiSWRlbnRpdHlSaXNrRXZlbnQuUmVhZC5BbGwiLCJNYWlsLlJlYWRCYXNpYyIsIkNoYW5uZWxTZXR0aW5ncy5SZWFkV3JpdGUuQWxsIiwiQWRtaW5pc3RyYXRpdmVVbml0LlJlYWRXcml0ZS5BbGwiLCJBdWRpdExvZy5SZWFkLkFsbCIsIkNoYW5uZWwuQ3JlYXRlIiwiUG9saWN5LlJlYWQuQWxsIiwiVGVybVN0b3JlLlJlYWRXcml0ZS5BbGwiLCJBcHByb3ZhbFJlcXVlc3QuUmVhZC5Qcml2aWxpZ2VkQWNjZXNzIiwiTWVtYmVyLlJlYWQuSGlkZGVuIiwiRGV2aWNlTWFuYWdlbWVudENvbmZpZ3VyYXRpb24uUmVhZFdyaXRlLkFsbCIsIkNoYXQuUmVhZEJhc2ljLkFsbCIsIkNhbGxzLkFjY2Vzc01lZGlhLkFsbCIsIkFwcGxpY2F0aW9uLlJlYWQuQWxsIiwiUHJvZ3JhbUNvbnRyb2wuUmVhZC5BbGwiLCJEZXZpY2VNYW5hZ2VtZW50TWFuYWdlZERldmljZXMuUHJpdmlsZWdlZE9wZXJhdGlvbnMuQWxsIiwiU2VydmljZUhlYWx0aC5SZWFkLkFsbCIsIlRlYW1zQXBwSW5zdGFsbGF0aW9uLlJlYWRXcml0ZUZvckNoYXQuQWxsIiwiU2l0ZXMuRnVsbENvbnRyb2wuQWxsIiwiUG9saWN5LlJlYWRXcml0ZS5BdXRob3JpemF0aW9uIiwiRGV2aWNlTWFuYWdlbWVudEFwcHMuUmVhZFdyaXRlLkFsbCIsIkRldmljZU1hbmFnZW1lbnRBcHBzLlJlYWQuQWxsIiwiVGhyZWF0SW5kaWNhdG9ycy5SZWFkLkFsbCIsIlRlYW1zQXBwSW5zdGFsbGF0aW9uLlJlYWRGb3JUZWFtLkFsbCIsIlNob3J0Tm90ZXMuUmVhZC5BbGwiLCJQcm9ncmFtQ29udHJvbC5SZWFkV3JpdGUuQWxsIiwiUmVwb3J0cy5SZWFkLkFsbCIsIlByaW50Sm9iLlJlYWRCYXNpYy5BbGwiLCJDYWxscy5Jbml0aWF0ZS5BbGwiLCJFeHRlcm5hbEl0ZW0uUmVhZFdyaXRlLkFsbCIsIk5vdGVzLlJlYWRXcml0ZS5BbGwiLCJBcHByb3ZhbFJlcXVlc3QuUmVhZC5FbnRpdGxlbWVudE1hbmFnZW1lbnQiLCJEZXZpY2VNYW5hZ2VtZW50UkJBQy5SZWFkV3JpdGUuQWxsIiwiVHJ1c3RGcmFtZXdvcmtLZXlTZXQuUmVhZC5BbGwiLCJQb2xpY3kuUmVhZFdyaXRlLkZlYXR1cmVSb2xsb3V0IiwiUG9saWN5LlJlYWRXcml0ZS5UcnVzdEZyYW1ld29yayIsIlByaXZpbGVnZWRBY2Nlc3MuUmVhZFdyaXRlLkF6dXJlQURHcm91cCJdLCJzdWIiOiI3NmZkMDNhZS0xNzAxLTRhYmUtYjJiNi1iMDRlZmVkYWFlODUiLCJ0ZW5hbnRfcmVnaW9uX3Njb3BlIjoiQVMiLCJ0aWQiOiJlODZiZjgyMS1kNmVhLTQ1MTAtOGZmYi03YzY4NmM2NDU3ZjIiLCJ1dGkiOiJISVZzMmoxUl8wNmJhNjZuSzRRTEFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjE1OTQ2MjgyNTZ9.a2gPsNyiJxNn3gD1WgibPuD55VC1hxirBkHjMa5xIn242AJJ2bpITcuun3glSSel9rHefmVEnqV9UXkSeq4OJTMGL-XrzZSUw09EkbKxOIq9FqWIJLe_LZS54to6xM62z4V-3YrNSHS9dUsQXRRoaeTe6_n_zzdx_epFtvoNiKnxmSggMN1Ly8yBJPitDpZsqjLtIRWcLRnARFD-_A8VkBjGr2k4KWTlcFlt7ltPDRfqEio7FNpRq4-B_4M14JuDEPAybdoJKXoyg87bFUmNMFf-lPnEmxNuHcUmYU3iy8ZJnX6SU1vCZwln0dQMUb_U7sOI796af7g8INksxVAwCA' \
--data-raw '{
"body": {
"content": "Hello World"
}
}'
In response it throws Unauthorized Error
{
"error": {
"code": "Unauthorized",
"message": "Unauthorized",
"innerError": {
"date": "2020-11-14T12:54:36",
"request-id": "d2e6aaa7-2884-4e4d-bd71-b92038b",
"client-request-id": "d2e6aaa7-2884-4e4d-bd71"
}
}
}
Just to get this working for testing purpose, i have given all permissions for delegated and application(About 442 permissions) with admin consent but still response throws "Unauthorized Error"
So can someone help out over here, where am i getting it wrong.
What is right procedure to send a message to channel of a MS team using MS-Graph-api or what else needs to be enable/done which i am forgetting over here, to get this working.
Only delegated permission will work in this scenario & not the application permissions. Make sure you have the following permissions - ChannelMessage.Send, Group.ReadWrite.All - as one of the permissions is required to call this API.
Just to isolate the above issue, test the same Graph API call, with
the above said permissions in Microsoft Graph explorer and see if you
can able to send message to channel or not. Here's the doc.
Based on that you used grant_type as authorization code to send messages to a channel successfully.
Use grant_type as authorization code for sending messages to a channel as grant_type client_credentials is not supported in delegated permission as pointed out on this link as well https://developer.microsoft.com/en-us/graph/blogs/30daysmsgraph-day-12-authentication-and-authorization-scenarios/
For others to move forward follow above link to get the authorization code and use it to generate bearer access token to send messages to a channel
Delegated permissions required to generate bearer access token: "openid profile User.Read email"
To Generate access-token
curl --location --request POST 'https://login.microsoftonline.com/<Tenant_ID>/oauth2/v2.0/token' --header 'Content-Type: application/x-www-form-urlencoded' --header 'Cookie: x-ms-gateway-slice=prod; stsservicecookie=ests; fpc=AiMjowz5Jo5EvQyTMhzOqaQ9npEsAQAAAOMFRtcOAAAAqSBP-gEAAABXBkbXDgAAAA' --data-urlencode 'client_id=<client_ID>' --data-urlencode 'client_secret=<client_secret>' --data-urlencode 'redirect_uri=http://localhost' --data-urlencode 'grant_type=authorization_code' --data-urlencode 'scope=openid profile offline_access User.Read' --data-urlencode 'code=0.AAAAIfhr6OrWEEWP-3xobGRX8hpZv2PH4fVJh6PLsdEHaztTAOY.AQABAAIAAAB2UyzwtQEKR7-rWbgdcBZIMB3WJhW2dvCBgjVNf-tzDc_9Yc7YnN1JrIZtaE8b0L4RylYkzJkGWZAcxeTrMDhhjrjCJDGMOjkLPf8Jd0lLX6C7tFOU-RRg1tNDds0kI1RDdRJRYBMVFOr_riKgCwAKWgKrAd18Tr-anqLt_iTn7TLmCIN1dsL4wVFJPkhOBS0yPaoz0B07CzHWX2dUxMKhVoe7DpPibRxa6cue4zpm0JNqRWfuENIBf5qtOdghIeTa4DvrIosjhEKswdIKD1bc4LQIt6-y7-fUn7pNgbJH1b2PfOu-rtrrBjCgra9MMcnWKT_rx7Rgi_VHxERmm06SubWNI_YmmAwaSqj8ni_qUFZNULr5IT0RPIdaFmnb7xduvwfaeBdho0cHGJoBR3omYsaHygEK-xraP9vD-Dm3NdqlVYuQYKB2O5uVuyTDA--7sN7Ay5gQHkz98xfOuT4aU18YQ1Ji1vE5KffCbsFoUwzHiLoz-QcdMs7BBHR0C13z1o_qjx8SYgWZhlOwzA4-r91ErOi-AoZYqgk6yBhP_w7K-3YNFcxkNaqi4LIg8rarP0bFeioJgW3Htmsd1Ogk0y5kUSUnu1o5-paac8J9p9gpxuxM_Bj3GJ8P-SkuPueNY16kQ_qlW-JuqtrRp0mtFyeNVpHDY2vCUbJRpCw85tX247A-iGYBlsE7_BEj2wqcbeIZwXLOoKSmwxP2I5i_69m07FOz3hmYcl39sAjq8SItfFWcMPW1fWTEzqJy9dGsYulGHEDtx2iMTJsf9X_SEUrnAO8bqNLbJFDVcTFoxFrqFB7VjrjWH-4ed8erdHiEJnGVVjuQ1a_aW7pLIdo0r5zvF4PA9cvVjAlFyLi0ybhWD1vKu-EeTDqyG4uO2NW45Jow5GDGVPYIr2fKNZWdzNzFgcMsqo5hCsobL9lvd7DQIsa4W2dZ9UJjMQZ5NGKdcnL6ks8ZX44_DBcTkRBkWIXSJqEIh0WxdHjvC-_hWBifJ4xArQ5aAl5TucxEv7wwpB-tGou2mG_XvyLxNnrbOt-ltyc5aZTRZ1J_iOO7wX8AkNXM4-MsSFESyPAGhgJlClZCEtOZZLKhe99vmTvpinWyS72T5E1yWOUSCopFr2X2e0g-Fi8q1pNdAk1tw91ZtGhPBXk8BJAzjUut1T8nHiG_OE4inmGaK7rGsy-uKtCQGuALjxgpi_kAtDfGhYyzxiPe7Itu1od31M83y6H7ZOC9XVkQrI9jrt_Jn3wTwqRjFuwWwpCxK2iAc6y3pskgAA'
Below will be the response
{
"token_type": "Bearer",
"scope": "ChannelMessage.Send Group.ReadWrite.All openid profile User.Read email",
"expires_in": 3599,
"ext_expires_in": 3599,
"access_token": "eyJ0eXAiOiJKV1QiLCJub25jZSI6IloxNG9xVEI5cjFYcldGZUJQQzNjU0VwR2p3aXlpUUZPVC1hTXBsaTZrMFkiLCJhbGciOiJSUzI1NiIsIng1dCI6ImtnMkxZczJUMENUaklmajRydDZKSXluZW4zOCIsImtpZCI6ImtnMkxZczJUMENUaklmajRydDZKSXluZW4zOCJ9.eyJhdWQiOiIwMDAwMDAwMy0wMDAwLTAwMDAtYzAwMC0wMDAwMDAwMDAwMDAiLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC9lODZiZjgyMS1kNmVhLTQ1MTAtOGZmYi03YzY4NmM2NDU3ZjIvIiwiaWF0IjoxNjA1NjM1NjI3LCJuYmYiOjE2MDU2MzU2MjcsImV4cCI6MTYwNTYzOTUyNywiYWNjdCI6MCwiYWNyIjoiMSIsImFjcnMiOlsidXJuOnVzZXI6cmVnaXN0ZXJzZWN1cml0eWluZm8iLCJ1cm46bWljcm9zb2Z0OnJlcTEiLCJ1cm46bWljcm9zb2Z0OnJlcTIiLCJ1cm46bWljcm9zb2Z0OnJlcTMiXSwiYWlvIjoiQVVRQXUvOFJBQUFBcHNITXZZdm9GNXY3Y2pFUkNjRWM4NllCM2tEejhXNWEyOW5pSXlkalhxNWFsMUYzTm9uRVQ0d0UvQXI5QVFYUkZzRy81eHdBV2kyU1BTcm9mUHdtYnc9PSIsImFsdHNlY2lkIjoiMTpsaXZlLmNvbTowMDAzNDAwMUQ1OEQ3Qjg3IiwiYW1yIjpbInB3ZCJdLCJhcHBfZGlzcGxheW5hbWUiOiJ0ZXN0LW1zdGVhbSIsImFwcGlkIjoiNjNiZjU5MWEtZTFjNy00OWY1LTg3YTMtY2JiMWQxMDc2YjNiIiwiYXBwaWRhY3IiOiIxIiwiZW1haWwiOiJzLnouYWJlZGVlbkBnbWFpbC5jb20iLCJmYW1pbHlfbmFtZSI6ImFiZWRlZW4iLCJnaXZlbl9uYW1lIjoic3llZCIsImlkcCI6ImxpdmUuY29tIiwiaWR0eXAiOiJ1c2VyIiwiaXBhZGRyIjoiNDkuMjA2LjQyLjE1NyIsIm5hbWUiOiJzeWVkIGFiZWRlZW4iLCJvaWQiOiI0ZmFhYjE3OC05ZjI0LTRjZDctYTE0NC1kMjYxYzkxZDFiYTIiLCJwbGF0ZiI6IjE0IiwicHVpZCI6IjEwMDMyMDAwQ0YyQjcwMTQiLCJyaCI6IjAuQUFBQUlmaHI2T3JXRUVXUC0zeG9iR1JYOGhwWnYyUEg0ZlZKaDZQTHNkRUhhenRUQU9ZLiIsInNjcCI6IkNoYW5uZWxNZXNzYWdlLlNlbmQgR3JvdXAuUmVhZFdyaXRlLkFsbCBvcGVuaWQgcHJvZmlsZSBVc2VyLlJlYWQgZW1haWwiLCJzaWduaW5fc3RhdGUiOlsia21zaSJdLCJzdWIiOiJ4WFBlbXh1Y2YwZFo3Y1FkNmw1dlE3dG5fS1dWV05PbnUySC1jN1NoZnkwIiwidGVuYW50X3JlZ2lvbl9zY29wZSI6IkFTIiwidGlkIjoiZTg2YmY4MjEtZDZlYS00NTEwLThmZmItN2M2ODZjNjQ1N2YyIiwidW5pcXVlX25hbWUiOiJsaXZlLmNvbSNzLnouYWJlZGVlbkBnbWFpbC5jb20iLCJ1dGkiOiJmc3h3c1VLc05VV1dWMzVaLWkwQUFBIiwidmVyIjoiMS4wIiwid2lkcyI6WyI2MmU5MDM5NC02OWY1LTQyMzctOTE5MC0wMTIxNzcxNDVlMTAiLCJiNzlmYmY0ZC0zZWY5LTQ2ODktODE0My03NmIxOTRlODU1MDkiXSwieG1zX3N0Ijp7InN1YiI6ImhSM3M0ZHJ1THBjanhCU091SG43RzNGSmdQMjNSQlh3QmpEeF9hN3d5ZWMifSwieG1zX3RjZHQiOjE1OTQ2MjgyNTZ9.SDn4NIiHLxvGp0odn7C_hXZ0juSsgnyE_Dc0uTwMK_jP_n7-SjisYfw1vOoX7st5-C27_HwLoSWxUt1cqL7ENcrt_7HXvZSwFsXVN4JCeEOVZUZUzUakcmttUISPPPygLhv4-EPD-sBC8TDs9ncIYDUKqbTYh1aKkRsIK5O19GvoJQ4UUzHV6o-raW8jTBdXRfH1Bz6N7CPfcPkivTn1a-zOthy1HrlFBCFCErJBum_3QhmAHkoA9UPOEKKZeJBl_k3VqsZBcNById-X591ukyi06Kk8kHfYoigiiXm7lv0-NLsHoVq9e4sBemIjYzHd3mUhN3ayPYOTAwnUCsb9kA",
"refresh_token": "0.AAAAIfhr6OrWEEWP-3xobGRX8hpZv2PH4fVJh6PLsdEHaztTAOY.AgABAAAAAAB2UyzwtQEKR7-rWbgdcBZIAQDs_wIA9P-VaK7kTxu67GVpgkENaxo5RaJz1G_GtnJ7x9V-YNDrLpkidtc-D_zgeGu8FpyC_Zh0ZwFZ_4orR_2q3mFf_J2MJ8caI6qrsyIDRPhRZE9PWZ1fYTfIlB4zbIg5l2B2_M5u7FsBdAjvkCelDNlG36Ev9vFBGSHG1XY4sJwVTmyTrgp_dyafCfc4-JqbQwUqIp44MdZon2n5XhfeOJsFDWPcx0VyPwL4yTLZ78htAv41msxO16qnOihaRESza1gpRAlcYvTbFMJyJBPQny-WOqIuGtJ8tRbbj8GkeSmV4IJ0-jkeHhCUD3JQVcyR9vepmKLGoH1ACVnm47_qYMKli4dR8MiOFReAbm1uP3YmGDDN9enRoIBCHz3w0GQYjb9RVDE9hZuzlP6jSx34GXcEOboXe6MbQpxO-Tg70BFk9jP8U7OMlht8WYFBm_ztGkBuDAvMe2dAtJjOI1VbqYQhuJ-h_iWco3jh9pexDQkaIG_L1v8ByAvCJ3dxbkMceC1Vgq7ekmRwanWL2GqPYfpmYF40U1VG30QhhjWdA4lx_QkpvqqHMU8D3heS1NsBtIdJ4XngCatSANWXLAEw0_OPA4xGmlb6PN0qHphQ24npwsqqswcxA0i6mAhSU1huxwSU2VIn0BcbZd4oX1j6DsMQIRxxoaQ8mhhF3xfNkIeACPgly6Bc7uXFTZE9f0M6UxaUgrivdcXLX8LtCFpGRJms0voZaRolVvmgegHwclAMBsBS0TN56FldE9QXXGS4k4LJprwjXTpxrE2eEeum-CQpiljvXkuotONASek-62a-YKWhhoYukxIcud3_hq45KJP3AzW6wLx7IMx2HBnPMaUmXJl4-7nR7r_NPSeJsffLa62MQ4HI84qNR0ToMQpqilSJCYaGo37VbYy9UekA0WSRoYSmiZ0CMXTBo9tW1VVkST5kZAZ9h2RZl_-W-agfkxzT7cZxaoKAc1pP1G380w2T5Zl8TGwYLqVbPWMf-Iyih9hrQ7oitv7xQqVuCNI4Q_hq1D0kjMrEetMaDP8mNKoAosJ1_b8hUlYXj5geAL9alkcarwQchn4cXwXfLvOxEWjthHAuUPavdwgEGznuTRfT94dpUdz2s9vx9_ajguS07gOz1dOM5RR65yVUXZoH7mTkYqzzj5EHjCbzi-7m7WpgY2cGt5amj-XMnmVQqjjLCto1anKeuhnY_ummurWWCO_zjJmdhMfuMvN785KLdZjABmR0QzXg9-aOoJheK4kne-rJl4xpX0IcDFwHxzQTWoFYVltPJfY2YUDQfSOVtSrbIEU4VHP7ewCB6NTsP2ZU2sJRHSXpcppLDmwKMeEbFSyiB-VbXMiE_a_VU8jF1cl6BkBGor4PunGKCWfeuIXywqqWZ9sYQnRnXRXA-_9d1EQv7yC-LKgVbViSJJviLrrSgpf8ZHi4-6mGUdE2M4FyilLNMq8pkI825RRYPr8dWtdLavuECwYxV9qrzcOfkUuNIQ-SFXkmd6JNQ9jDw5VLshPwTrnHfXubqbIUfAoEwEiBWs0rFZz_Q7aV_WsBllUg4rSeiujFgmOdWWewXo_L3myd9Q9eoUMtWiTa3I-ElmyfhOdcn8Oiznj3094lzLojCLEsvlp7mC8FtJe84qYDKlA",
"id_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6ImtnMkxZczJUMENUaklmajRydDZKSXluZW4zOCJ9.eyJhdWQiOiI2M2JmNTkxYS1lMWM3LTQ5ZjUtODdhMy1jYmIxZDEwNzZiM2IiLCJpc3MiOiJodHRwczovL2xvZ2luLm1pY3Jvc29mdG9ubGluZS5jb20vZTg2YmY4MjEtZDZlYS00NTEwLThmZmItN2M2ODZjNjQ1N2YyL3YyLjAiLCJpYXQiOjE2MDU2MzU2MjcsIm5iZiI6MTYwNTYzNTYyNywiZXhwIjoxNjA1NjM5NTI3LCJpZHAiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC85MTg4MDQwZC02YzY3LTRjNWItYjExMi0zNmEzMDRiNjZkYWQvIiwibmFtZSI6InN5ZWQgYWJlZGVlbiIsIm9pZCI6IjRmYWFiMTc4LTlmMjQtNGNkNy1hMTQ0LWQyNjFjOTFkMWJhMiIsInByZWZlcnJlZF91c2VybmFtZSI6InMuei5hYmVkZWVuQGdtYWlsLmNvbSIsInByb3ZfZGF0YSI6W3siYXQiOnRydWUsInByb3YiOiJnaXRodWIuY29tIiwiYWx0c2VjaWQiOiIxNzQyMDUwMiJ9XSwicmgiOiIwLkFBQUFJZmhyNk9yV0VFV1AtM3hvYkdSWDhocFp2MlBINGZWSmg2UExzZEVIYXp0VEFPWS4iLCJzdWIiOiJoUjNzNGRydUxwY2p4QlNPdUhuN0czRkpnUDIzUkJYd0JqRHhfYTd3eWVjIiwidGlkIjoiZTg2YmY4MjEtZDZlYS00NTEwLThmZmItN2M2ODZjNjQ1N2YyIiwidXRpIjoiZnN4d3NVS3NOVVdXVjM1Wi1pMEFBQSIsInZlciI6IjIuMCJ9.f9x2VPo2-1lNb7PNlcPqRXe4A78m546Y557nAjSoBYRDrwwQj6r3uYG6zzkOXFOhXnbCDchTaFv0kn8cDKNFaQWKaw_XIGYveihof9h9bX8lj7V72L1hWlya2zriMFhATeePmL4VUMu9khg3yD1Z-Sj0RM4IP0rPzbYN3IskuAN5lNXeTdV0xrra9FdvMolrRdMT9Bt14-QG8za4OoWDTb-s5Bq8kZUrhiVkKP4GowRYWBLFXxKThrPE4zQK6EJREMbmBTHy3nrxF_smNqQjCwE95T0qBAnPC6hQQEXO_U_J3EcAD9hPB-bzFiR3nIs6rK_MEinwcSs6QEgl4CDOxw"
}
To Send message to a channel
Delegated permissions required to send message: "ChannelMessage.Send Group.ReadWrite.All"
curl --location --request POST 'https://graph.microsoft.com/beta/teams/team_ID/channels/channel_ID/messages' --header 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJub25jZSI6IloxNG9xVEI5cjFYcldGZUJQQzNjU0VwR2p3aXlpUUZPVC1hTXBsaTZrMFkiLCJhbGciOiJSUzI1NiIsIng1dCI6ImtnMkxZczJUMENUaklmajRydDZKSXluZW4zOCIsImtpZCI6ImtnMkxZczJUMENUaklmajRydDZKSXluZW4zOCJ9.eyJhdWQiOiIwMDAwMDAwMy0wMDAwLTAwMDAtYzAwMC0wMDAwMDAwMDAwMDAiLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC9lODZiZjgyMS1kNmVhLTQ1MTAtOGZmYi03YzY4NmM2NDU3ZjIvIiwiaWF0IjoxNjA1NjM1NjI3LCJuYmYiOjE2MDU2MzU2MjcsImV4cCI6MTYwNTYzOTUyNywiYWNjdCI6MCwiYWNyIjoiMSIsImFjcnMiOlsidXJuOnVzZXI6cmVnaXN0ZXJzZWN1cml0eWluZm8iLCJ1cm46bWljcm9zb2Z0OnJlcTEiLCJ1cm46bWljcm9zb2Z0OnJlcTIiLCJ1cm46bWljcm9zb2Z0OnJlcTMiXSwiYWlvIjoiQVVRQXUvOFJBQUFBcHNITXZZdm9GNXY3Y2pFUkNjRWM4NllCM2tEejhXNWEyOW5pSXlkalhxNWFsMUYzTm9uRVQ0d0UvQXI5QVFYUkZzRy81eHdBV2kyU1BTcm9mUHdtYnc9PSIsImFsdHNlY2lkIjoiMTpsaXZlLmNvbTowMDAzNDAwMUQ1OEQ3Qjg3IiwiYW1yIjpbInB3ZCJdLCJhcHBfZGlzcGxheW5hbWUiOiJ0ZXN0LW1zdGVhbSIsImFwcGlkIjoiNjNiZjU5MWEtZTFjNy00OWY1LTg3YTMtY2JiMWQxMDc2YjNiIiwiYXBwaWRhY3IiOiIxIiwiZW1haWwiOiJzLnouYWJlZGVlbkBnbWFpbC5jb20iLCJmYW1pbHlfbmFtZSI6ImFiZWRlZW4iLCJnaXZlbl9uYW1lIjoic3llZCIsImlkcCI6ImxpdmUuY29tIiwiaWR0eXAiOiJ1c2VyIiwiaXBhZGRyIjoiNDkuMjA2LjQyLjE1NyIsIm5hbWUiOiJzeWVkIGFiZWRlZW4iLCJvaWQiOiI0ZmFhYjE3OC05ZjI0LTRjZDctYTE0NC1kMjYxYzkxZDFiYTIiLCJwbGF0ZiI6IjE0IiwicHVpZCI6IjEwMDMyMDAwQ0YyQjcwMTQiLCJyaCI6IjAuQUFBQUlmaHI2T3JXRUVXUC0zeG9iR1JYOGhwWnYyUEg0ZlZKaDZQTHNkRUhhenRUQU9ZLiIsInNjcCI6IkNoYW5uZWxNZXNzYWdlLlNlbmQgR3JvdXAuUmVhZFdyaXRlLkFsbCBvcGVuaWQgcHJvZmlsZSBVc2VyLlJlYWQgZW1haWwiLCJzaWduaW5fc3RhdGUiOlsia21zaSJdLCJzdWIiOiJ4WFBlbXh1Y2YwZFo3Y1FkNmw1dlE3dG5fS1dWV05PbnUySC1jN1NoZnkwIiwidGVuYW50X3JlZ2lvbl9zY29wZSI6IkFTIiwidGlkIjoiZTg2YmY4MjEtZDZlYS00NTEwLThmZmItN2M2ODZjNjQ1N2YyIiwidW5pcXVlX25hbWUiOiJsaXZlLmNvbSNzLnouYWJlZGVlbkBnbWFpbC5jb20iLCJ1dGkiOiJmc3h3c1VLc05VV1dWMzVaLWkwQUFBIiwidmVyIjoiMS4wIiwid2lkcyI6WyI2MmU5MDM5NC02OWY1LTQyMzctOTE5MC0wMTIxNzcxNDVlMTAiLCJiNzlmYmY0ZC0zZWY5LTQ2ODktODE0My03NmIxOTRlODU1MDkiXSwieG1zX3N0Ijp7InN1YiI6ImhSM3M0ZHJ1THBjanhCU091SG43RzNGSmdQMjNSQlh3QmpEeF9hN3d5ZWMifSwieG1zX3RjZHQiOjE1OTQ2MjgyNTZ9.SDn4NIiHLxvGp0odn7C_hXZ0juSsgnyE_Dc0uTwMK_jP_n7-SjisYfw1vOoX7st5-C27_HwLoSWxUt1cqL7ENcrt_7HXvZSwFsXVN4JCeEOVZUZUzUakcmttUISPPPygLhv4-EPD-sBC8TDs9ncIYDUKqbTYh1aKkRsIK5O19GvoJQ4UUzHV6o-raW8jTBdXRfH1Bz6N7CPfcPkivTn1a-zOthy1HrlFBCFCErJBum_3QhmAHkoA9UPOEKKZeJBl_k3VqsZBcNById-X591ukyi06Kk8kHfYoigiiXm7lv0-NLsHoVq9e4sBemIjYzHd3mUhN3ayPYOTAwnUCsb9kA' --header 'Content-Type: application/json' --data-raw '
{
"body": {
"content": "Hello world"
}
}'
Below will be the response
{
"#odata.context": "https://graph.microsoft.com/beta/$metadata#teams('<team-ID>')/channels('<channel_ID>')/messages/$entity",
"id": "1605635994172",
"replyToId": null,
"etag": "1605635994172",
"messageType": "message",
"createdDateTime": "2020-11-17T17:59:54.172Z",
"lastModifiedDateTime": "2020-11-17T17:59:54.172Z",
"lastEditedDateTime": null,
"deletedDateTime": null,
"subject": null,
"summary": null,
"chatId": null,
"importance": "normal",
"locale": "en-us",
"webUrl": "https://teams.microsoft.com/l/message/channel-ID/1605635994172?groupId=<team-ID>&tenantId=<tenant-ID>&createdTime=1605635994172&parentMessageId=1605635994172",
"policyViolation": null,
"from": {
"application": null,
"device": null,
"conversation": null,
"user": {
"id": "4faab178-9f24-4cd7-a144-d261c91d1ba2",
"displayName": "admin",
"userIdentityType": "aadUser"
}
},
"body": {
"contentType": "text",
"content": "Hello World"
},
"channelIdentity": {
"teamId": "team-ID",
"channelId": "channel-ID"
},
"attachments": [],
"mentions": [],
"reactions": []
}
I'm working in a Jenkinsfile and trying to parse the following return output. I can get the uuid but I can't get name. Looking for some guidance.
Jenkinsfile
node('ansible'){
stage('Get VM List'){
def content = sh (returnStdout: true, script: "curl -X GET --header 'Content-Type: application/json' --header 'Accept: application/octet-stream' 'http://someurlapi'").trim()
def vmList = readJSON text: content;
//Works
echo vmList[0].uuid
}}
Return Output
[
{
"num": XX,
"ip": "XX.XX.XX.XX",
"type": "KVM",
"name": "machinename",
"state": "Running",
"ram": 4096,
"ram-display": "4 GiB",
"zpool": {
"name": "zpool",
"compression": "lz4",
"mountpoint": "\/mnt",
"mounted": true
},
"uuid": "d7622bd3-ed3d-5000-ae01-89ab294933r1",
"autostart": false,
"cpu": 2
}]
I figured it out I changed it to
echo vmList[0]["name"]
I am attempting to do a batch push notification request using the parse rest API.
curl -X POST
-H "X-Parse-Application-Id: redacted"
-H "X-Parse-REST-API-Key: redacted"
-H "Content-Type: application/json"
-d '{
"requests": [{
"method": "POST",
"path": "/1/push/",
"body": {
"channels": ["redacted"],
"deviceType": "ios",
"badge": 1,
"data": {
"alert": "Hello",
"badge": 1,
"key": "status"
}
}
}]
https://api.parse.com/1/batch
And am receiving the error:
{"code":107,"error":"Method 'POST' to '/1/push/' not supported in batch operations."}
You are already indicating POST in CURL. The Parse push api is not batch. Push is sent to registered devices in Parse (associated with a certificate from Apple) and those matching your push criteria. Your push message should look more like this:
curl -X POST \
-H "X-Parse-Application-Id: " \
-H "X-Parse-REST-API-Key: " \
-H "Content-Type: application/json" \
-d '{
"where": {
"channels": {
"$in": ["channel1","channel2","channel3"]
},
"deviceType": "ios"
},
"data": {
"alert": "Alert message here."
}
}' \
https://api.parse.com/1/push
There are various examples in the docs. The above is from the help forum.