Skip to content

Instantly share code, notes, and snippets.

@brianly
Last active September 22, 2016 13:54
Show Gist options
  • Save brianly/d6ea57d2ef0fc9ba09bd200929c47fac to your computer and use it in GitHub Desktop.
Save brianly/d6ea57d2ef0fc9ba09bd200929c47fac to your computer and use it in GitHub Desktop.
Snippet showing how to use the setAuthToken() to inject a token that was acquired elsewhere. A server-side token is going to be longer lived than the client-side token acquired in this code.
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=Edge" />
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript" data-app-id="MzowvhzkPdHy6LGqXaDBAg" src="https://c64.assets-yammer.com/assets/platform_js_sdk.js"></script>
<script type="text/javascript">
$(document).ready(function () {
function dumpYammerResponse(response) {
$details.append("Status: " + response.status + "</br>");
$details.append("Network name: " + response.access_token.network_name + "</br>");
$details.append("User ID: " + response.access_token.user_id + "</br>");
$details.append("Token: " + response.access_token.token + "</br>");
}
var $result = $("#result");
var $details = $("#details");
var token = getCookie("token");
try {
console.log("Token at start: " + token)
$result.append("running...<br/>");
yam.getLoginStatus(
yam.platform.setAuthToken(token,
function (response) {
$result.append("response received...<br/>");
if (response.authResponse) {
$result.append("authResponse is true<br/>");
dumpYammerResponse(response);
} else {
$result.append("Trying yam.login because authResponse is false...<br/>");
$result.append("Additional popup may appear...<br/>");
yam.platform.login(function (response) {
if (response.authResponse) {
console.log(response.access_token.token)
setCookie("token", response.access_token.token, 30)
console.dir(response);
$result.append("authResponse is now true.<br/>");
dumpYammerResponse(response);
}
})
}
})
)
} catch (e){
$result.html("EXCEPTION!");
$details.html(e);
}
});
// Silly cookie handling code to be replaced.
function setCookie(cname, cvalue, exdays) {
var d = new Date();
d.setTime(d.getTime() + (exdays*24*60*60*1000));
var expires = "expires="+ d.toUTCString();
document.cookie = cname + "=" + cvalue + "; " + expires;
}
function getCookie(cname) {
var name = cname + "=";
var ca = document.cookie.split(';');
for(var i = 0; i <ca.length; i++) {
var c = ca[i];
while (c.charAt(0)==' ') {
c = c.substring(1);
}
if (c.indexOf(name) == 0) {
return c.substring(name.length,c.length);
}
}
return "";
}
</script>
</head>
<body>
<h1>Yammer JS SDK</h1>
<div>
Setting authentication token... Status:<br/>
<span id="result" style="color: #00f;">init...<br/> </span>
</div>
<h2>Details:</h2>
<div id="details"></div>
<button name="Run" id="run" value="sdfsdfsd" />
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment