Last active
September 22, 2016 13:54
-
-
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!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