yam.platform.setAuthToken不再适用于IE 8和IE 9

时间:2014-12-22 13:43:59

标签: javascript sharepoint yammer

我们目前正在将Yammer集成到我们的企业SharePoint Intranet中,为此我们使用Yammer Javascript SDK。

当用户接受我们的自定义Yammer应用程序时,我们会将返回的令牌存储在用户配置文件中,以便下次我们可以使用SDK而无需用户再次登录。对于后续登录,我们使用JavaScript SDK中的yam.platform.setAuthToken方法。

这曾经适用于我们公司使用的所有浏览器,包括IE 8-11和Chrome。不知何故,它停止在IE 8和IE 9中工作,我们不确定原因。

我们已在以下代码段中隔离了该问题:

<!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="[OUR-APP-ID]" src="https://c64.assets-yammer.com/assets/platform_js_sdk.js"></script>
  <script type="text/javascript">   

  $(document).ready(function () {                       
    var $result = $("#result");
    var $details = $("#details");

    try {
      $result.append("running...<br/>");
      yam.platform.setAuthToken("[VALID-USER-TOKEN]", function (response) {
        $result.append("response received...<br/>");
        $details.append("Status: " + response.status + "</br>");
        if (response.authResponse) {
          $result.append("SUCCESS!");
          $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>");
        } else {
          $result.append("FAIL!");
        }
      });    
    } catch (e){
      $result.html("EXCEPTION!");
      $details.html(e);
    }
  });
</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>
</body>

</html>

通过使用IE 11,您可以使用开发工具栏(F12)切换浏览器版本。从IE 11切换到10,9和8,我们看到IE 11和10都工作正常,但IE 9和8都失败了。

似乎setAuthToken函数完成的ajax调用失败了,但没有给出解释;它只返回&#34; notConnected&#34;。 我们确定问题与Javascript Origins没有关系,因为这些问题在我们的应用配置中正确设置,并且上述代码段在IE 10,IE 11和Chrome中完美运行。

Yammer是否更新了他们的SDK,删除了对IE 8和IE 9的支持,或者我们在这里遗漏了什么?请帮助我们!

1 个答案:

答案 0 :(得分:0)