How to add stream target in wowza using rest api into facebook? - rest

I want to create facebook stream through wowza rest api (/v2/servers/{serverName}/vhosts/{vhostName}/applications/{appName}/pushpublish/mapentries).
Parameters `{
"shoutcast.destination": "",
"icecast2.public": false,
"akamai.destinationServer": "",
"shoutcast.icq": "",
"facebook.eventSourceName": "",
"timeToLive": 0,
"password": "",
"facebook.destType": "",
"rtpWrap": false,
"icecast2.name": "",
"akamai.hostId": "",
"icecast2.icq": "",
"host": "",
"connectionFlashVersion": "",
"cupertino.renditions": "",
"facebook.title": "",
"debugPackets": false,
"shoutcast.public": false,
"shoutcast.aim": "",
"profile": "",
"icecast2.description": "",
"sessionStatus": "",
"shoutcast.metaname": "",
"icecast2.genre": "",
"facebook.destId": "",
"queryString": "",
"akamai.eventName": "",
"version": "",
"shoutcast.name": "",
"sendStreamCloseCommands": false,
"port": 0,
"sendFCPublish": false,
"icecast2.aim": "",
"http.playlistCount": 0,
"http.playlistTimeout": 0,
"facebook.destName": "",
"audioPort": "",
"icecast2.metaname": "",
"sourceStreamName": "",
"connectionCode": "",
"localBindAddress": "",
"shoutcast.protocol": "",
"debugLogChildren": false,
"serverName": "",
"adaptiveStreaming": false,
"facebook.eventSourceType": "",
"enabled": false,
"shoutcast.irc": "",
"sendReleaseStream": false,
"shoutcast.url": "",
"icecast2.irc": "",
"facebook.description": "",
"debugLog": false,
"shoutcast.genre": "",
"akamai.streamId": "",
"akamai.hdNetwork": false,
"adaptiveGroups": "",
"saveFieldList": [
""
],
"http.playlistAcrossSessions": false,
"secureTokenSharedSecret": "",
"http.fakePosts": false,
"sendSSL": false,
"sendOriginalTimecodes": false,
"icecast2.destination": "",
"facebook.accessToken": "",
"userName": "",
"facebook.privacy": "",
"streamName": "",
"removeDefaultAppInstance": false,
"videoPort": "",
"http.writerDebug": false,
"icecast2.url": "",
"akamai.sendToBackupServer": false,
"destinationServer": "",
"application": "",
"entryName": "",
"streamWaitTimeout": 0,
"appInstance": "",
"originalTimecodeThreshold": "",
"autoStartTranscoder": false,
"sanjose.representationId": ""
}`
As per the api doc their are lot of parameter which I have pass during the api call but they didn't mention proper document for that.
Please help me out :)

Following parameters can be used to create a Facebook stream target through the REST API.
(/v2/servers/{serverName}/vhosts/{vhostName}/applications/{appName}/pushpublish/mapentries)
{
"entryName": "fb-api",
"profile": "rtmp-facebook",
"sourceStreamName": "{StreamName}",
"facebook.title": "Live Test",
"facebook.destType": "timeline",
"facebook.destId": "{DestinationPageId}",
"facebook.destName": "My Timeline",
"facebook.description": "This is Wowza live test",
"facebook.accessToken": "{FacebookAccessToken}",
"facebook.privacy": "onlyMe",
"extraOptions": {
"destinationName": "facebook"
},
"enabled": true
}
If you have access to the file system where Wowza is installed, you can see all stream targets which are created in the \conf\{appName}\PushPublishMap.txt file. You can configure a stream target through the Wowza streaming engine interface and open this file to get an idea about the required parameters for a particular type of stream target using the REST API.
Please note that this is valid for Wowza Streaming Engine 4.5 and above.

I agree with the answer already provided by #AyazAslam, with a few small caveats:
The "facebook.destType" parameter could be "timeline",
"page", "group", or "event", so the "facebook.destId" parameter value should more generically be:
"facebook.destId": "{DestinationId}"
The "facebook.privacy" parameter actually only applies to posting to a
"timeline". It has no effect on other destination types.
The Facebook app that is used to create the access token must have it's
"Require App Secret" option disabled since Wowza cannot provide another app's app
secret in the Facebook API calls it makes.

Related

Microsoft Graph Sign-Ins Audit Logs API : Internal Users are shown as Guest User type for certain logins

I am using MS Graph Sign-in REST API to retrieve the Guest user sign-ins my tenant. But I have retrieved certain sign-ins which are showing the internal users as Guest in User Type attribute.
Also absorbed HomeTenantId and ResourceTenantId also differs.
Certain times, while logging in to Azure AD Portal, directory of the previously logged-in tenant are logged in. In that cases TenantId may differ and userType attribute is shown as Guest. But for SharePoint I am not sure of the user Type guest
This is confusing a bit. Any idea on why Internal users are shown as Guest Users
Request : https://graph.microsoft.com/beta/auditLogs/signIns
Sample Response:
{ "id": "$$$$$$",
"createdDateTime": "2021-08-29T10:22:06Z",
"userDisplayName": "user",
"userPrincipalName": "user#cortana.onmicrosoft.com",
"userId": "$$$$$",
"appId": "08e18876-6177-487e-b8b5-cf950c1e598c",
"appDisplayName": "SharePoint Online Web Client Extensibility",
"ipAddress": "$$$$$$",
"ipAddressFromResourceProvider": null,
"clientAppUsed": "",
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36",
"correlationId": "*********",
"conditionalAccessStatus": "notApplied",
"originalRequestId": "",
"isInteractive": true,
"tokenIssuerName": "",
"tokenIssuerType": "AzureAD",
"processingTimeInMilliseconds": 173,
"riskDetail": "none",
"riskLevelAggregated": "none",
"riskLevelDuringSignIn": "none",
"riskState": "none",
"riskEventTypes": [],
"riskEventTypes_v2": [],
"resourceDisplayName": "Office 365 SharePoint Online",
"resourceId": "$$$$$$$",
"resourceTenantId": "$$$$$$$$$",
"homeTenantId": "#########",
"authenticationMethodsUsed": [],
"authenticationRequirement": "singleFactorAuthentication",
"alternateSignInName": "", "signInIdentifier": "",
"signInIdentifierType": null,
"servicePrincipalName": null,
"signInEventTypes": ["interactiveUser"],
"servicePrincipalId": "",
"userType": "guest",
"flaggedForReview": false,
"isTenantRestricted": false,
"autonomousSystemNumber": 45609,
"crossTenantAccessType": "b2bCollaboration",
"servicePrincipalCredentialKeyId": null,
"servicePrincipalCredentialThumbprint": "",
"mfaDetail": null,
"status": {
"errorCode": 0,
"failureReason": "Other.",
"additionalDetails": null },
"deviceDetail": {
"deviceId": "",
"displayName": "",
"operatingSystem": "Windows 10",
"browser": "Chrome 92.0.4515",
"isCompliant": false,
"isManaged": false,
"trustType": ""
}, "location": {
"city": "Kallimandayam",
"state": "Tamil Nadu",
"countryOrRegion": "IN",
"geoCoordinates": {
"altitude": null,
"latitude": "",
"longitude": ""
}}, "appliedConditionalAccessPolicies": [],
"authenticationProcessingDetails": [{
"key": "Login Hint Present",
"value": "True" },
{
"key": "User certificate authentication level",
"value": "singleFactorAuthentication" } ],
"networkLocationDetails": [],
"authenticationDetails": [],
"authenticationRequirementPolicies": [],
"sessionLifetimePolicies": [],
"privateLinkDetails": {
"policyId": "",
"policyName": "",
"resourceId": "",
"policyTenantId": "" } }
This is By Design. It is an expected behavior, considering that when a user is accessing a tenant where the user is a guest (inviting tenant), you will have this authentication logged in your side as well. When a user is invited to another directory as a guest, the user will authenticate with the credentials from his home tenant, as explained in the below link.
Reference - Authentication is performed by the guest user's identity provider - https://learn.microsoft.com/en-us/azure/active-directory/external-identities/user-properties

How to request reload for TYPO3 extension field using mask

How do I request a reload for a TYPO3 extension field that is the trigger for a display condition of an other field in the mask.json.
"tx_mask_foobarfield": {
"config": {
"type": "select",
"renderType": "selectSingle",
"size": "",
"default": "foo",
"onChange" : "reload",
"items": [
[
"Foo",
"foo"
],
[
"Bar",
"bar"
]
],
"foreign_table": "",
"foreign_table_where": "",
"fileFolder": "",
"fileFolder_extList": "",
"fileFolder_recursions": "",
"maxitems": "",
"autoSizeMax": ""
},
"exclude": "0",
"key": "some_key"
},
I tried a couple of things but all references I could find tell me just about the way to do it in TCA.
I think you have the "onChange": "reload" on the wrong level.
From documentation it should be a direct successor of the fieldname (sibling to config)

Using BIM 360 Field API (legacy) to get checklist location

Title is a good summary.
The /api/get_checklists POST is deprecated and returns back empty data. So I use the GET /fieldapi/checklists/v1/ to get the list of checklist items, and then I used the id in the GET /fieldapi/checklists/v1/:id to get the 'complete details.' Unfortunately the JSON data does not include the location/area (I have verified this by querying the data, then changing the location, querying it again, and comparing the results). Looking for a way to get this information.
Side note: Not a fan of including the ticket in the URL param. The GET does support including the ticket in the body though... (not a very good RESTFUL design though).
Using postman to query the information.
Some sample outputs (I scrubbed most of the values):
{
"id": "",
"project_id": "",
"created_at": "",
"updated_at": "",
"created_by": "",
"status": "Open",
"company": {},
"description": "",
"source": [
{
"id": "",
"type": "Equipment"
}
],
"identifier": "",
"template": {
"id": "",
"name": ""
},
"checklist_type": "",
"name": "",
"priority": "",
"signatures": [],
"attachments": [],
"custom_field_values": [
{
"id": "",
"name": "",
"value": "",
"display_type": "",
"possible_values": [
"",
"",
"",
""
]
},
{
"id": "",
"name": "",
"value": "",
"display_type": "",
"possible_values": [
"",
"",
"",
"",
"",
"",
"",
"",
""
]
}
],
"comments": [],
"sections": [
]
}
our engineer team confirmed it is true the location isn’t included in fieldapi/checklists/v1:id. And the example in API document result doesn’t show it returns location. Sorry if this a bad news to you. I logged a wish CS-35616 to ask for exposing location with fieldapi/checklists/v1:id.
As to The /api/get_checklists POST is deprecated and returns back empty data. , you might need to specify ‘checklist_ids’ and ‘forced_checklist_ids’in the call. While by api/get_checklist_headers, get the ids ( completed_checklist_id) as the input.

Azure DevOps API release definition

I'm getting the following error when trying to copy a release template from a different project
"VS402982: A retention policy is not set for the stage ‘PROJECT-ENV’. Retention policies at the release pipeline level are deprecated.
{
"id": 8,
"name": "PROJECT-ENV",
"rank": 1,
"owner": "#{displayName=Zoe MacKay; _links=; id=; uniqueName=Zoe.MacKay;imageUrl=https://dev.azure.com/incrementalgroup/_apis/GraphProfile/MemberAvatars/}",
"variables": "",
"variableGroups": "",
"preDeployApprovals": "#{approvals=System.Object[]; approvalOptions=}",
"deployStep": "#{id=27}",
"postDeployApprovals": "#{approvals=System.Object[]; approvalOptions=}",
"deployPhases": "",
"environmentOptions": "#{emailNotificationType=OnlyOnFailure; emailRecipients=release.environment.owner;release.creator; skipArtifactsDownload=False; timeoutInMinutes=0; enableAccessToken=False; publishDeploymentStatus=True; badgeEnabled=False; autoLinkWorkItems=False; pullRequestDeploymentEnabled=False}",
"demands": "",
"conditions": "",
"executionPolicy": "#{concurrencyCount=1; queueDepthCount=0}",
"schedules": "",
"currentRelease": "#{id=70; url=https://vsrm.dev.azure.com/; _links=}",
"retentionPolicy": "#{daysToKeep=30; releasesToKeep=3; retainBuild=True}",
"processParameters": "",
"properties": "",
"preDeploymentGates": "#{id=0; gatesOptions=; gates=System.Object[]}",
"postDeploymentGates": "#{id=0; approvals:[]; gatesOptions=; gates=System.Object[]}",
"environmentTriggers": ""
},
copying from current build.
Your JSON is not valid. You'll need to ensure all the nested values are expanded correctly. For example:
"retentionPolicy": "#{daysToKeep=30; releasesToKeep=3; retainBuild=True}",
should be
"retentionPolicy": {
"daysToKeep" : 30,
"releasesToKeep": 3,
"retainBuild": true
},
If you're using PowerShell to create this JSON then ensure to specify the Depth parameter so it expands each value correctly.

Jasper Report with RestAPI

I have a report on JasperServer(5.6) which accepts few parameters. I edit few settings on the Output Options tab and enter emails which i would like to sent to on Notifications tab. The report gets generated successfully and an email is sent out perfectly.
I wish to use the Rest API of JasperServer to pass on my input options and to schedule and email the report. I went through there documentation http://community.jaspersoft.com/documentation/jasperreports-server-web-services-guide/v56/rest-v2-report-services but couldn't understand how to use the rest api.
Here is the properties of my report on the jasper server
Can someone help me out how to schedule my report.
Maybe it's can help you: jasperserver rest java client.
This is a REST client for Jasperserver.
I guess, i have figured out the way to schedule a job on jasper server. Details can be found here
http://community.jaspersoft.com/documentation/tibco-jasperreports-server-web-services-guide/v62/scheduling-report
But as an example here it is (call it with PUT method)
http://localhost:8080/jasperserver/rest_v2/jobs
and in the body define the job structure
{
"id": 3819,
"version": 2,
"username": "jasperadmin",
"label": "publisher_123_report",
"description": "",
"creationDate": "2015-12-30T02:02:40.382+03:00",
"trigger": {
"simpleTrigger": {
"id": "1770",
"misfireInstruction": "0",
"startDate": "2015-12-20T00:00:00+11:00",
"startType": "2",
"timezone": "Australia/Victoria",
"version": "0",
"occurrenceCount": "1"
}
},
"source": {
"reportUnitURI": "/Reports/Prod/test_automated_report_v14",
"parameters": {
"parameterValues": {
"PublisherId" : "20",
"MonthEnd" : "2015-02-01",
"MonthStart" : "2015-03-20",
"email" : "admin#admin.com",
"CountryCode" : "560"
}
}
},
"baseOutputFilename": "publisher_124_automated_report",
"outputLocale": "",
"mailNotification": {
"subject": "publisher monthly report" ,
"toAddresses": {
"address": ["address1To#add.com", "address2To#add.com"]
},
"ccAddresses": {
"address": ["address1cc#add.com", "address2cc#add.com"]
},
"bccAddresses": {
"address": ["address1bcc#add.com", "address2bcc#add.com"]
},
"includingStackTraceWhenJobFails" : false,
"resultSendType" : "SEND_EMBED",
"skipEmptyReports" : true,
"skipNotificationWhenJobFails" : false
},
"alert": {
"id": 0,
"version": -1,
"recipient": "OWNER_AND_ADMIN",
"toAddresses": {
"address": ["address1#add.com", "address2#add.com"]
},
"jobState": "FAIL_ONLY",
"messageText": "Success",
"messageTextWhenJobFails": "Failure",
"subject": "Notification Subject",
"includingStackTrace": true,
"includingReportJobInfo": true,
"jobState" : "ALL"
},
"outputTimeZone": "Australia/Melbourne",
"repositoryDestination": {
"id": 3817,
"version": 0,
"folderURI": "/Reports/Prod",
"sequentialFilenames": false,
"overwriteFiles": false,
"outputDescription": "",
"timestampPattern": null,
"saveToRepository": true,
"defaultReportOutputFolderURI": null,
"usingDefaultReportOutputFolderURI": false,
"outputLocalFolder": null,
"outputFTPInfo": {
"userName": null,
"password": null,
"folderPath": null,
"serverName": null
}
},
"outputFormats": {
"outputFormat": ["HTML"]
}
}
More options can be supplied while the creating job.