Companywebcast API Wiki

Page History: Player SDK 1.0 : Getting Started

Compare Page Revisions



« Older Revision - Back to Page History - Newer Revision »


Page Revision: 2016/03/25 12:58


getting started

<!DOCTYPE html>
<html>
<head>
    <title>AWS SDK for JavaScript - Sample Application</title>

</head>

<body>
    <input type="file" id="file-chooser" />
    <button id="upload-button" style="display:none">Upload to S3</button>
    <div id="results"></div>
    <div id="fb-root"></div>
    <skript type="text/javascript">
        var appId = 'YOUR_APP_ID';
        var roleArn = 'YOUR_ROLE_ARN';
        var bucketName = 'YOUR_BUCKET_NAME';
        AWS.config.region = 'YOUR_BUCKET_REGION';

        var fbUserId;

        var bucket = new AWS.S3({

            params: {

                Bucket: bucketName

            }

        });

        var fileChooser = document.getElementById('file-chooser');

        var button = document.getElementById('upload-button');

        var results = document.getElementById('results');

        button.addEventListener('click', function () {

            var file = fileChooser.files[0];

            if (file) {

                results.innerHTML = '';

                //Object key will be facebook-USERID#/FILE_NAME

                var objKey = 'facebook-' + fbUserId + '/' + file.name;

                var params = {

                    Key: objKey,

                    ContentType: file.type,

                    Body: file,

                    ACL: 'public-read'

                };

                bucket.putObject(params, function (err, data) {

                    if (err) {

                        results.innerHTML = 'ERROR: ' + err;

                    } else {

                        listObjs();

                    }

                });

            } else {

                results.innerHTML = 'Nothing to upload.';

            }

        }, false);

        function listObjs() {

            var prefix = 'facebook-' + fbUserId;

            bucket.listObjects({

                Prefix: prefix

            }, function (err, data) {

                if (err) {

                    results.innerHTML = 'ERROR: ' + err;

                } else {

                    var objKeys = "";

                    data.Contents.forEach(function (obj) {

                        objKeys += obj.Key + "<br>";

                    });

                    results.innerHTML = objKeys;

                }

            });

        }

        /*!

         * Login to your application using Facebook.

         * Uses the Facebook SDK for JavaScript available here:

         * https://developers.facebook.com/docs/javascript/gettingstarted/

         */

        window.fbAsyncInit = function () {

            FB.init({

                appId: appId

            });

            FB.login(function (response) {

                bucket.config.credentials = new AWS.WebIdentityCredentials({

                    ProviderId: 'graph.facebook.com',

                    RoleArn: roleArn,

                    WebIdentityToken: response.authResponse.accessToken

                });

                fbUserId = response.authResponse.userID;

                button.style.display = 'block';

            });

        };

         // Load the Facebook SDK asynchronously

        (function (d, s, id) {

            var js, fjs = d.getElementsByTagName(s)[0];

            if (d.getElementById(id)) {

                return;

            }

            js = d.createElement(s);

            js.id = id;

            js.src = "//connect.facebook.net/en_US/all.js";

            fjs.parentNode.insertBefore(js, fjs);

        }(document, 'script', 'facebook-jssdk'));

    </script>

</body>

</html>