Restrict Video File to download - asp.net

I am trying to build a spiritual website for one company and they are planning to embed some videos in their website.
And they are requesting me to make their videos private as they don't want the users to download them as they are collecting some amount for the classes and they would like to give those videos at a particular time on the website for the registered users.
If we go for live streaming it's costing much so we are planning to host it on the same website and remove them after a period of time.
So I would like to know what is the best way to do this?

Consider using a combination of PayPal Subscriptions and Forms Authentication. Use the PayPal IPN to get the users status (if they're paid up or not) and associate this with the transaction ID and user ID.
They will only get access to the video class page if they are authenticated. At that point, you can retrieve their subscription status from the DB and grant them access if they are paid up. If not, provide a friendly message and link to PayPal.
ASP.NET PayPal Subscriptions IPN [caveat: own blog]
How to set up a Paypal Subscription
You may have to use profiles to store extra information per user. If this is the case and you are using ASP.NET WAP (2.0+), then use the following info to set that up:
ASP.NET Profiles in Web Application Projects

Serving videos in a website can be done using either streaming or progressive download. The latter is technically similar to any other download, i.e. if users find the video's URL, they can download it.
You can write client-side code for hashing a one-time token to try and obfuscate the URL of the video file, but essentially committed users can hack their way into the download URL.
Your other option is to use DRM, which will allow you to restrict playing the file even if downloaded. But that might actually cost you more than streaming. (It will also provide better protection of your video, as streamed videos can also be saved on users' computers if they know how to).

Related

Google Analytics Reporting API TOS and Caching

I have a client website with Google Analytics installed. The client would like to have a carousel widget of sorts created that will appear in the header area on all the pages of the website. This widget will display the top 10 most visited pages on the website for a given timeframe.
I'm looking to create a Google API authentication piece on the backend of the website and setup the necessary Google Analytics Reporting API call to obtain the required info. My thought was that this call could be made once daily or weekly and the results saved so that the widget could access this information as required without having to make a new API request each time.
This seems like a reasonable setup but I'm unclear if this will violate Google API's TOS.
https://developers.google.com/terms
The TOS reads ...
e. Prohibitions on Content
Unless expressly permitted by the content owner or by applicable law, you will not, and will not permit your end users or others acting on your behalf to, do the following with content returned from the APIs:
Scrape, build databases, or otherwise create permanent copies of such content, or keep cached copies longer than permitted by the cache header;
With the above in mind, who is the content owner that I would need to get permission from? Is my client the content owner of their analytics data or is Google?
Is my client the content owner of their analytics data or is Google?
Your client is owner of their Google analytics data.

Avoid login prompt for Company data with Consumer Partner?

We are trying to show the company updates done for our company on LinkedIn in the companies intranet. After visiting the developer site, we are able to create the token and pull the required information. The challenge is with the login prompt that would come up on the intranet home page. We want to avoid it.
This post mentions we need a token (that we have) and also user should be logged in to LinkedIn. So we guess it is a limitation.
However, the developer site mentions about 'partnership with Linkedin' and says if you become a consumer partner following is possible. It says you have higher functionality and thresholds.
"Create personalized and engaging user experiences for your audience by combining LinkedIn data and functionality into custom websites and mobile applications"
We tried reaching to Linked Developer Support with no response from them. Can anyone here confirm if we can Avoid login prompt for Company data with Consumer Partner?

Can I push page data into marketo manually

We have a site built where our customers come to buy some digital content. But most of the clients use the digital content for marketing campaigns. And employ marketo and many other automation products to track leads.
We have a custom built web analytics tool for our site,which is not robust enough. But our clients just want to know if any leads visited our website and push this event to marketo or any other marketing automation tool. I was wondering if there is a way to read the marketo cookie and send a very simple "site visited" data to marketo so that the client is aware that the prospective lead has read the digital content they brought from us? Does this require a marketo API Key?
We also want to achieve this without embedding any Marketo Munckin codes in our digital content.
Can this be generalized to include other marketing tools?
If you want to get analytic info on how many visitor reached specific target page, you can use Google Analytics in your site and define targets. It will not identify which lead visited. For that you must implement Munchkin Cookie of Marketo.
I think the way this worked for me .
The idea here is to get a unique Marketo-id from client and use just Munchkin.init to register a 'page visited' for that client , who might have filled a landing page data earlier.
And then goahead and read the marketo cookie for that browser as mentioned in their blog here.
http://developers.marketo.com/blog/get-a-visitors-cookie-id-and-then-query-associated-lead-data/
This data can also be pushed from backend server with hardcoded script for marketo. This way you can control what data you can send to Marketo and also correlate the user uniquely from Marketo.

Allowing user access to analytics

I would like to enable (some) of my users to view my website's analytics data.
Our website has a bunch of groups where users can add content. I would like to enable certain users (group admins), to view usage statistics for that specific group. Ofcourse the data should only be accessable to those users with the VIEW_ANALYTICS right, not to any others.
Is there any way to do this in Google Analytics, or is there some other platform I could use to easily achieve this goal (we use AWS for our hosting)?
Regards,
klmdb
The Google Embed API allows you to display analytics data in your own pages. Pages that are only accessible to the members of your VIEW_ANALYTICS group.
You can create a service account and give it the appropriate access in the analytics user management for the property.
You also authorize the service account to use the embed API in the developers API console. (I don't have enough points to include more than two links in an answer.) In the API console you can generate a private key (p12 or json format) which you then use on your server to authenticate the request for analytics data.
You don't say which technologies you are using, but they show Java and Python examples of how to set up the authentication by the Service Account. I've also seen some node.js and php libraries.
This way you don't have to manage who has access through the google anayltics admin system, you just need to control who has access to your "dashboard" page.
I have done this all with client-side javascript and it works. Of course the client-side nature means that anybody who knows how to use browser debug tools can get our private-key, but in our particular case I'm not worried about it. On the other had it seem like you need to keep some security around this so I wouldn't recommend the client-side solution.

Google Chat in ASP.NET application

I want to provide chat facility to my website visitors. This should be same as google chat (person to person communication). Are there any free tools available to integrate in the website? Or is there any way that we can use Google Chat's API and can integrate in our website?
Pls help me.
You can embed google chat into your web page, instructions here
I think a reasonable approach would involve opening an iframe that talks to a dynamic page. The dynamic page would be auto-refreshed by two or more clients and continously post to/read from a table that stores the ID of the session, timestamp, user name(or IP), and message for the chats. The ID of the session would correspond to the dynamic page ID and bob's your uncle.
I'm sure there are various implementations floating around, but I'd want to control this on my own. No user accounts required if you set it up correctly, thought finding other users may be an issue without accounts.
There are a lot of good embeddable chat widgets you can insert into a page fairly easily that do all the work for you.
I've tried out a few of the ones listed in the link above (mostly MeeboMe and Geesee) and don't have any major complaints. With that many choices you should be able to find one that meets your needs. Most don't even require a login.

Resources