Skip to content

Instantly share code, notes, and snippets.

@sebastiandammark
Created September 10, 2019 09:45
Show Gist options
  • Save sebastiandammark/e4f1080e347b301bf4af6836b445b192 to your computer and use it in GitHub Desktop.
Save sebastiandammark/e4f1080e347b301bf4af6836b445b192 to your computer and use it in GitHub Desktop.
Manual Instagram integration on Umbraco
@inherits Umbraco.Web.Mvc.UmbracoTemplatePage<MemberWebsite>
@using Skybrud.Social.Instagram
@using Skybrud.Social.Instagram.Objects
@using Skybrud.Social.Instagram.Responses
@using Skybrud.Social.Umbraco.Instagram.PropertyEditors.OAuth
@{
var rootPage = Model.Content.AncestorsOrSelf<MemberWebsite>().First();
var deactivated = Model.Content.DeactivateInstagram;
var count = 1;
if (!deactivated && !String.IsNullOrEmpty(rootPage.AccessToken) && !String.IsNullOrEmpty(rootPage.Instagram) && !String.IsNullOrEmpty(rootPage.UserId)) {
var instagram = InstagramService.CreateFromAccessToken(rootPage.AccessToken);
InstagramRecentMediaResponse recent = instagram.Users.GetRecentMedia(Int64.Parse(rootPage.UserId), 15);
var medias = recent.Body.Data.ToList().Where(x => x.Type.ToString() != "carousel").Take(6);
<div class="container no-padd">
<div class="row">
<div class="insta-box margin-lg-35t margin-xs-15t margin-lg-40b margin-xs-20b col-xs-12">
<div class="insta-box-follow">Instagram feed<a href="@String.Format("https://www.instagram.com/{0}/", rootPage.Instagram)" class="insta-acc" target="_blank">@String.Format("@{0}", rootPage.Instagram)</a></div>
<div class="insta-img-wrap">
@foreach (InstagramMedia media in medias) {
@InstaMedia((dynamic) media)
}
</div>
</div>
</div>
</div>
} else if(String.IsNullOrEmpty(rootPage.AccessToken) && !String.IsNullOrEmpty(rootPage.ClientId)) {
<div class="container no-padd">
<div class="row">
<a target="_blank" href="@String.Format("https://www.instagram.com/oauth/authorize/?client_id={0}&redirect_uri=https://splitsek.s1.umbraco.io/App_Plugins/Skybrud.Social/Dialogs/InstagramOAuth.aspx&response_type=token", rootPage.ClientId, Request.Url.Scheme + "://" + Request.Url.Host)">Authorize</a>
</div>
</div>
}}
@helper InstaMedia(InstagramImage media) {
<a href="@media.Standard" class="gallery-item" target="_blank" data-type="@media.Type.ToString()" title="@String.Format("{0} likes and {1} comments", media.LikeCount, media.CommentCount)">
<img src="@media.Thumbnail" alt="@media.CaptionText" />
</a>
}
@helper InstaMedia(InstagramVideo media) {
<a href="@media.Link" target="_blank" title="@String.Format("{0} likes and {1} comments", media.LikeCount, media.CommentCount)">
<img src="@media.Thumbnail" alt="@media.CaptionText" />
</a>
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment