Hi everyone. Unless I'm missing something, there doesn't appear to be documentation for how to filter results when using the Blog Posts API via the PHP API Client. I can see options for filtering here , but these are for when using a request U 続きを読む
To add to this post - I'm also seeing no way of specifying which blog to use. With the blog tags API using the PHP API Client, there doesn't seem to ...続きを読む
Hi everyone. Unless I'm missing something, there doesn't appear to be documentation for how to filter results when using the Blog Posts API via the PHP API Client. I can see options for filtering here , but these are for when using a request U 続きを読む
To add to this post - I'm also seeing no way of specifying which blog to use. With the blog tags API using the PHP API Client, there doesn't seem to ...続きを読む
Hi everyone. Unless I'm missing something, there doesn't appear to be documentation for how to filter results when using the Blog Posts API via the PHP API Client. I can see options for filtering here , but these are for when using a request U 続きを読む
To add to this post - I'm also seeing no way of specifying which blog to use. With the blog tags API using the PHP API Client, there doesn't seem to ...続きを読む
I'm using an old contact/createOrUpdate endpoint from v1 API that I need to migrate to using private apps. I've removed the hapi key query param from the request URL, and am sending the access token in the headers - yet I recieve a 401 error. 続きを読む
Hi, @Jaycee_Lewis I reached out to HubSpot support as I didn't want to spend time debugging the 401 response (or anybody else debugging it!) if it ...続きを読む
I'm using an old contact/createOrUpdate endpoint from v1 API that I need to migrate to using private apps. I've removed the hapi key query param from the request URL, and am sending the access token in the headers - yet I recieve a 401 error. 続きを読む
Hi, @Jaycee_Lewis I reached out to HubSpot support as I didn't want to spend time debugging the 401 response (or anybody else debugging it!) if it ...続きを読む
I have a blog listing and there is right sidebar as a topics once i click on perticular tags in blog post in sidebar listing links, there sholud be link name as a page title. How to achive it using hubspot?
EDIT I'm an idiot. For anyone as hasty as me who finds themselves here instead of back in the API docs - use the 'subcategory' paramter in the request URL.
I'm building a search index to send to Algolia , using the pages API to grab any updat 続きを読む
Hi all - we are looking at building a relatively complex LP using Vue.js. Really we want to build this locally, using single file components etc and compiling with webpack. I'm wondering if anyone has had experience building a Vue.js app and 続きを読む
@tjoyce sorry for the delay - I got caught up actually building the thing!! Great post, and for anyone doing this specifically with Vue, you ca...続きを読む
One of our clients is looking to utilise a single thank you page for all of their landing pages. The motivation behind this is to save time and reduce complexity for marketers, and to reduce likelihood of inconsistency. So a marketer creates a L 続きを読む
Actually that's a good idea @tjoyce as they will all be going to the same URL anyway. In fact doing it this way I could send a querystring if I wan...続きを読む
Hi everyone. Unless I'm missing something, there doesn't appear to be documentation for how to filter results when using the Blog Posts API via the PHP API Client. I can see options for filtering here , but these are for when using a request U 続きを読む
To add to this post - I'm also seeing no way of specifying which blog to use. With the blog tags API using the PHP API Client, there doesn't seem to ...続きを読む
I'm using an old contact/createOrUpdate endpoint from v1 API that I need to migrate to using private apps. I've removed the hapi key query param from the request URL, and am sending the access token in the headers - yet I recieve a 401 error. 続きを読む
Hi, @Jaycee_Lewis I reached out to HubSpot support as I didn't want to spend time debugging the 401 response (or anybody else debugging it!) if it ...続きを読む
Hi all - we are looking at building a relatively complex LP using Vue.js. Really we want to build this locally, using single file components etc and compiling with webpack.
I'm wondering if anyone has had experience building a Vue.js app and compi 続きを読む
A place for social media professionals to share ideas, learn, network, and be inspired.
//
//
//
//
//
(function($) {
//START END-USER CONFIGURATION
//------------------------------
//selectors for hover card triggers
var allHoverCardTriggers = '.author-name-link,.friend-list .friend a,.username a,.avatar,.user-avatar,.author-img, .authors a, .messageauthorusername a, a.lia-user-name-link, .js-latest-post-by-from a, .user-online-list li a, a.UserAvatar, .customUsersOnline a, #authors a,.dashboard-followers a.user-name, .dashboard-following a.user-name,.author-login-wrapper a, .hb-leaderboard a, .author-img-floated';
// Forward calling page's URL params to endpoint URL as well, helps with testing!
var params = (new URL(location.href)).searchParams;
var userApiUrl = '/plugins/custom/hubspot/hubspot/hovercardendpoint?' + ((params.set('user_id', '') == []._) && params.toString());
if($('.hover-card-container').length<1){
$('body').append('');
}
var cardWrapper = $('.hover-card-container');
var error = false;
var thisUserID = '';
var thisUserLogin = '';
var userLink ='';
var cardTimer;
var leaveTimer;
function mouseenter(Elem) {
var thisEl = Elem;
cardTimer = setTimeout(function(){
var docWidth = $(document).width();
var rightSide = false;
var userLink = thisEl.attr('href');
if($('.ViewProfilePage').length && $('img.lia-user-avatar-profile',thisEl).length){thisUserID = '1088';}
else if(thisEl.attr('href')=='#' || thisEl.attr('href')=='' || !userLink.match('viewprofilepage')){
return false;}
else{
var thisLen = (userLink).split('/');
thisUserID = (thisLen)[thisLen.length-1];
}
var thisCard = $('.profileCard[data-user='+thisUserID+']',cardWrapper);
var cardId = 'userProfileCard-'+ thisUserID;
var addAttr = thisEl.attr('aria-describedby',cardId);
var thisElTopOffset = Math.round(thisEl.offset().top+(thisEl.height()/2)+30);
var thisElbottomoffset = "auto";
var className = "";
var winHeight = $(window).height();
var elOffset = thisEl.offset();
var scrollTop = $(window).scrollTop();
var elementOffset = thisEl.offset().top;
var distanceTop = (elementOffset - scrollTop);
var distanceBottom = (winHeight + scrollTop) - (elOffset.top + thisEl.outerHeight(true));
var distanceLeft = Math.round(thisEl.offset().left);
var bodyHight = $('body').height();
var topParam = '';
var bottomparam = '';
var position = '';
var className = 'topArrow';
cardId
if(distanceBottom < 300 ){
if(distanceLeft < 59){
thisCard.removeClass('bottomArrow');
var className = 'leftArrow';
var distanceLeft = (distanceLeft)+(39);
var thisElTopOffset = (thisElTopOffset)-(150);
}else{
var thisElTopOffset = (thisElTopOffset)-(301); var className = 'bottomArrow'; thisCard.removeClass('topArrow');
thisCard.removeClass('leftArrow');
var distanceLeft = (distanceLeft)-(45);
}
}
else{
if(distanceLeft < 59){
thisCard.removeClass('topArrow');
var className = 'leftArrow';
var distanceLeft = (distanceLeft)+(39);
var thisElTopOffset = (thisElTopOffset)-(150);
}else{
thisCard.removeClass('leftArrow');
thisCard.removeClass('bottomArrow').addClass('topArrow');
var distanceLeft = (distanceLeft)-(45);
}
}
if(thisCard.length && $('.profileCard[data-user='+thisUserID+'] .preloader',cardWrapper).length<1){
$('.profileCard',cardWrapper).hide();
thisCard.addClass(className);
rightSide?thisCard.addClass('rightArrow'):thisCard.removeClass('rightArrow');
thisCard.delay(0).css({'top':(thisElTopOffset),'left':distanceLeft,'bottom':thisElbottomoffset}).fadeIn();
} else {
var ajaxReturn = '';
//just in case
thisCard.remove();
//hover card wrapper markup
var rightArrowClass = rightSide?'rightArrow':'';
if(thisElTopOffset != "auto"){
topParam = 'px';
}
if(thisElbottomoffset != "auto"){
bottomparam = 'px';
}
var profileCardHtml = '';
$.when(
//get the background
$.ajax({
type: 'GET',
url: userApiUrl+thisUserID,
dataType: 'html',
success: function(data) {
$('.profileCard',cardWrapper).hide();
ajaxReturn = data;
}
})
)
.done(function(){
cardWrapper.append(profileCardHtml);
$('.profileCard[data-user='+thisUserID+']',cardWrapper).eq(0).empty().html(ajaxReturn);
if($('.profileCard[data-user='+thisUserID+'] .preloader',cardWrapper).length){
$('.profileCard[data-user='+thisUserID+'] .preloader',cardWrapper).parents('div.profileCard').remove();
}
})
.fail(function(){
//uh oh - bail out!
$('.profileCard',cardWrapper).hide();
});
}
}, 360);
}
function mouseleave(e) {
clearTimeout(cardTimer);
// glowingblue: When the user leaves the hovercard trigger, wait because the leaving could be
// to interact with the hovercard, if we don't wait it will just disappear...because
// we left the trigger, right...so we'll have another handler that check if the mouse is
// over the hovercard and if so clears this timer, so the card doesn't close here
leaveTimer = setTimeout(function() {
if ($('.profileCard[data-user="'+thisUserID+'"]',cardWrapper).length) {
$('.profileCard[data-user="'+thisUserID+'"]',cardWrapper).fadeOut('fast');
} else {
$(".profileCard").fadeOut('fast');
}
}, 2400);
}
$(document).on("mouseenter focusin", allHoverCardTriggers, function(event) {
if(!($(this).parents().hasClass('custom-header'))&& !($(this).parents().hasClass('green-wrap'))){
(leaveTimer !== []._) && clearTimeout(leaveTimer);
mouseenter($(this));
event.stopPropagation();
}
});
$(document).on("mouseleave focusout", allHoverCardTriggers, function(event) {
(leaveTimer !== []._) && clearTimeout(leaveTimer);
mouseleave(event);
event.stopPropagation();
});
// glowingblue: Add handlers for when the users interacts with the hovercard, no closing!
$('.hover-card-container').on('mouseenter', function(e) {
(leaveTimer !== []._) && clearTimeout(leaveTimer);
});
$('.hover-card-container').on('mouseleave', function(e) {
(leaveTimer !== []._) && clearTimeout(leaveTimer);
if ( $(e.target).is('.profileCard[style*="block"]') ) {
leaveTimer = setTimeout(function() {
$(e.target).fadeOut('fast');
}, 2400);
}
});
// glowingblue: add one global root level click handler to also close any visible hovercards
// if the user taps/clicks outside the hovercard
$(document).on('mousedown', function(e) {
if ( !$(e.target).parents('.hover-card-container').length ) {
(leaveTimer != []._) && clearTimeout(leaveTimer);
$('.hover-card-container .profileCard[style*="block"]').each(function() {
$(this).fadeOut('fast');
});
}
});
})(LITHIUM.jQuery);
(function($) {
$(document).ready(function(){
var originalElementId;
function setCookie(cname,cvalue,exdays) {
var d = new Date();
d.setTime(d.getTime() + (exdays*24*60*60*1000));
var expires = "expires=" + d.toGMTString();
document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
}
function getCookie(cname) {
var name = cname + "=";
var decodedCookie = decodeURIComponent(document.cookie);
var ca = decodedCookie.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 "";
}
function errorDisplay(errType) {
var errAuth = '