tpai
9/12/2015 - 7:08 AM

SDK

SDK

Import required scripts

<script src="https://cdnjs.cloudflare.com/ajax/libs/signalr.js/2.2.0/jquery.signalR.min.js"></script>
<script src="https://testsignalr2015.azurewebsites.net/signalr/hubs"></script>

Main script

// target url
let connection = $.hubConnection(`https://testsignalr2015.azurewebsites.net/signalr`, { useDefaultPath: false });
let chat = connection.createHubProxy(`chatHub`);

// event listener
chat.on(`addNewMessageToPage`, (name, message) => {
  console.log(name, message)
  $("#display").append(`<pre>${name}: ${message}</pre>`);
});

// init
connection.start()
  .done(function(){
    console.log(`Now connected, connection ID=${connection.id}`);
  
    $("#form").submit((e) => {
      // method trigger
      $("#msg").val() !== "" && chat.invoke(`send`, `Anonymous${new Date().getTime()}`, $("#msg").val())
        .done(() => console.log (`succeeded`))
        .fail(error => console.log(error));

      $("#msg").val("");
      e.preventDefault();
    });

  })
  .fail(function(){ console.log(`Could not connect`); });
var myId, myName

window.fbAsyncInit = function() {
  FB.init({
    appId: [YOUR_APP_ID],
    channelUrl: "//" + window.location.hostname + "/channel.html",
    xfbml: true
  })

  FB.getLoginStatus(function(response) {
    if (response.status !== "connected") {
      FB.login(function(res) {}, {
        scope: "user_groups,friends_groups"
      })
    } else {
      getMe()
      getMyGroups()
    }
  })

  FB.Event.subscribe('auth.statusChange', function(response) {
    if (response.status === "connected") {
      getMe()
      getMyGroups()
    }
  });
};

var getMe = function() {
  FB.api("/me", function(res) {
    myId = res.id;
    myName = res.name;
    console.log(myName + " (" + myId + ")")
  })
};

var getMyGroups = function() {
  FB.api("/me/groups", function(res) {
    $.each(res.data, function(key, val) {
      console.log(val.name + " (" + val.id + ")")
    })
  })
};

var getGroupPosts = function(groupId) {
  FB.api("/" + groupId + "/feed", function(res) {
    $.each(res.data, function(key, val) {
      var date = new Date(val.created_time)
      var month = date.getUTCMonth() + 1
      var day = date.getUTCDate()
      var year = date.getUTCFullYear()

      var fromWho = val.from.name
      var fromId = val.from.id
      var message = val.message
      var comments = val.comments
    })
  })
};

var RenderPlainURLToHrefLink = function(text) {
  if (text === undefined) return;
  return text.replace(/(\(?(?:(http|https|ftp):\/\/)?(?:((?:[^\W\s]|\.|-|[:]{1})+)@{1})?((?:www.)?(?:[^\W\s]|\.|-)+[\.][^\W\s]{2,4}|localhost(?=\/)|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})(?::(\d*))?([\/]?[^\s\?]*[\/]{1})*(?:\/?([^\s\n\?\[\]\{\}\#]*(?:(?=\.)){1}|[^\s\n\?\[\]\{\}\.\#]*)?([\.]{1}[^\s\?\#]*)?)?(?:\?{1}([^\s\n\#\[\]]*))?([\#][^\s\n]*)?\)?)/ig, "<a href='$1' target='_blank'>$1</a>");
};

// Load the SDK Asynchronously
(function(d) {
  var js, id = 'facebook-jssdk',
    ref = d.getElementsByTagName('script')[0];
  if (d.getElementById(id)) {
    return;
  }
  js = d.createElement('script');
  js.id = id;
  js.async = true;
  js.src = "//connect.facebook.net/en_US/all.js";
  ref.parentNode.insertBefore(js, ref);
}(document));