getSessionEmbedUrl method
Generates a session URL and authorization code that you can use to embed
the Amazon QuickSight console in your web server code. Use
GetSessionEmbedUrl
where you want to provide an authoring
portal that allows users to create data sources, datasets, analyses, and
dashboards. The users who access an embedded QuickSight console need
belong to the author or admin security cohort. If you want to restrict
permissions to some of these features, add a custom permissions profile to
the user with the UpdateUser
API operation. Use
RegisterUser
API operation to add a new user with a
custom permission profile attached. For more information, see the
following sections in the Amazon QuickSight User Guide:
May throw AccessDeniedException. May throw InvalidParameterValueException. May throw ResourceExistsException. May throw ResourceNotFoundException. May throw ThrottlingException. May throw QuickSightUserNotFoundException. May throw SessionLifetimeInMinutesInvalidException. May throw UnsupportedUserEditionException. May throw InternalFailureException.
Parameter awsAccountId
:
The ID for the AWS account associated with your QuickSight subscription.
Parameter entryPoint
:
The URL you use to access the embedded session. The entry point URL is
constrained to the following paths:
-
/start
-
/start/analyses
-
/start/dashboards
-
/start/favorites
-
/dashboards/DashboardId
- whereDashboardId
is the actual ID key from the QuickSight console URL of the dashboard -
/analyses/AnalysisId
- whereAnalysisId
is the actual ID key from the QuickSight console URL of the analysis
Parameter sessionLifetimeInMinutes
:
How many minutes the session is valid. The session lifetime must be 15-600
minutes.
Parameter userArn
:
The Amazon QuickSight user's Amazon Resource Name (ARN), for use with
QUICKSIGHT
identity type. You can use this for any type of
Amazon QuickSight users in your account (readers, authors, or admins).
They need to be authenticated as one of the following:
- Active Directory (AD) users or group members
- Invited nonfederated users
- AWS Identity and Access Management (IAM) users and IAM role-based sessions authenticated through Federated Single Sign-On using SAML, OpenID Connect, or IAM federation
Implementation
Future<GetSessionEmbedUrlResponse> getSessionEmbedUrl({
required String awsAccountId,
String? entryPoint,
int? sessionLifetimeInMinutes,
String? userArn,
}) async {
ArgumentError.checkNotNull(awsAccountId, 'awsAccountId');
_s.validateStringLength(
'awsAccountId',
awsAccountId,
12,
12,
isRequired: true,
);
_s.validateStringLength(
'entryPoint',
entryPoint,
1,
1000,
);
_s.validateNumRange(
'sessionLifetimeInMinutes',
sessionLifetimeInMinutes,
15,
600,
);
final $query = <String, List<String>>{
if (entryPoint != null) 'entry-point': [entryPoint],
if (sessionLifetimeInMinutes != null)
'session-lifetime': [sessionLifetimeInMinutes.toString()],
if (userArn != null) 'user-arn': [userArn],
};
final response = await _protocol.send(
payload: null,
method: 'GET',
requestUri:
'/accounts/${Uri.encodeComponent(awsAccountId)}/session-embed-url',
queryParams: $query,
exceptionFnMap: _exceptionFns,
);
return GetSessionEmbedUrlResponse.fromJson(response);
}