Need to extract zoom webinar participant activity through API - database

We have a zoom admin account through which we schedule and conduct multiple webinars. I need to get the registrant details along with their activity (eg: join time, leaving time, session length) through APIs and export the data as a JSON.
Any help will be greatly appreciated.

Related

How can I know the list of user running Apex code in our org with their respective licence type?

I have been looking for ways to list/access the list of users with with their respective type licenses(Partner or Admin or Community) running/executing apex on our org but have not found anything explaining how I can do that.
Any help to help understand how I can achieve this will be greatly appreciated.
Unclear.
There's some tracking "user X used visualforce page/apex class Y" but Event Monitoring is a paid addon, bought separately or as part of Shield (better field history tracking and encryption). You should be able to experiment with it in your Developer Edition / Trailhead Playground before deciding to buy.
Without that... you'll have to marry few queries together but the results will be so-so.
SELECT Name, UserType, Profile.UserLicense.MasterLabel, Profile.UserLicense.LicenseDefinitionKey
FROM User
WHERE IsActive = true
for license types. This is about "main" user license. Your user can have "feature licenses" (Salesforce Content User, Marketing User, Knowledge User...) that are just checkboxes on user record. And can have permission sets assigned with some managed package licenses for example.
For async jobs (scheduled, queueable, batch, #future...) you should be able to query the AsyncApexJob (keeps logs for 1 week I think) or CronTrigger + CronJobDetail to see scheduled jobs. That'll include dashboard & report runs too though, filter them out using that cronjobdetail
Last but not least you can query who has access (via profile or permission sets) to run class X - but that doesn't mean they actually run it. For that you'd need to query. Some sample queries for that are in SetupEntityAccess documentation.

How do I filter and view daily logs in Google App Engine?

I have an express API application running on GAE. It is my understanding that every time someone makes a GET request to it, it creates a log. In the Logs Explorer (Operations -> Logging -> Logs Explorer), I can filter to view only GET requests from a certain source by querying:
protoPayload.method="GET"
protoPayload.referrer="https://fakewebsite.com/"
In the top-right of the Logs Explorer, I can also select a time range of 1 day to view logs from the past 24 hours.
I want to be able to see how many GET requests the app receives from a given referrer every day. Is this possible? And is there functionality to display the daily logs in a bar chart (say, to easily visualize how many logs I get every day over the period of a week)?
You can achieve this but not directly in the Cloud Logging service. You have started well: you have created a custom filter.
Then, create a sink and save the logs to BigQuery.
So now, you can perform a query to count the GET every day, and you can build a datastudio dashboard to visualise your logs.
If only the count is needed on daily basis you can create a sink to stream data directly into the BigQuery. As the data needs to be segregated on daily basis while creating a sink , a better option would be to use a partition table which can help you in two ways:
You would have a new table everyday
Based on your usage although BigQuery provide a free tier , this data is not
needed in near future storing it this way will reduce your cost and querying cost
BigQuery comes with data studio , as soon as you query on table you'll have the option to explore the result in Data studio and generate reports as needed.

Track user selected values on ecommerce(amazon.com) website (GAE Python) using Google Analytics API

I have designed an ecommerce website like amazon.com. I want to collect user analytics data on my website. I am still evaluating options and Google Analytics API looks good as it does not charge anything for a good amount of usage. And it should be fast.
What information do I want to collect about user behavior on my website:
What "dropdown" menu values do they select(say for narrowing down the exact product category)
What "checkboxes" do they select to filter out based on price range, size, type, or a specific feature
Which result entries(matched products) on the search page do they click
It would be good if I could get the time of day when the above happened
Also how long the user viewed a page (with an upper limit for cases when a user opens a tab and forgets to close it)
I hope the Google Analytics API has some feature to prepare charts based on the above data, as well as provide the average monthly values for the above counts
I decided to use an external Analytics tool since writing into NDB would take time, increase writes and increase the storage requirement
Any guidance is highly appreciated.. Anyone who has implemented similar analytics for their website, please share your advice..

Sync google contacts by group to a limited number of users

I am trying to build an open-source python code hosted at GAE to sync contacts by group to a limited number of users. In a web interface users will be able to pick their group and whom it will be synced with.
I understand there is a lot of applications on market place withe the same functionality, but my organization is concerned about those provides selling contacts to 3rd parties. We are a non-profit organization, so the code could be hosted at google project or github for community contribution.
(sorry for the long intro)
How is the best way to start? is there tutorial available with similar functionality that I can expand?
What is the best way to compare two Contact kind elements? To see if they need to be sync.
Is there a last update on the Contact kind elements? In case I want to implement a last update wins?
thanks!
I don't know of any tutorials for syncing and comparing contacts specifically, but there is a getting started guide for the Google Contacts API at https://developers.google.com/google-apps/contacts/v3/.
The contacts are sent as XML blobs, so you could compare two contacts by parsing them and looking at the individual elements within them. I don't think there's a better way to do this but there are libraries to handle it for you.
There is a last updated field sent as part of the contacts when retrieving them with the API. It is an XML element labeled <updated>.
how are you getting different user's contacts feeds?
i tried to save the tokens in the datastore when the
users grant the access, but when i get the token back
from datastore for 2 users at a time, after an hour
when the token expires,
all tokens start working like the current users token
and i can only get current users contacts.
token = Get_Shared_User_Token(user_email)
contact_client = gdata.contacts.client.ContactsClient(source=USER_AGENT)
authorized_client = token.authorize(contact_client)
contacts_feed = authorized_client.GetContacts(q = query)
can you please tell how one can get any user's contacts?

Implement a paid subscription service on a website

I have a website and I would like to implement a paid subscription service. Its a simple service with only 2 types of plans. For now, ill just use Paypal. But im a little lost before start, mainly with the data model.
My main question for now is, what information do I need to keep for each subscription? Do I need to implement a shopping cart for this (dont think so)? Im not asking for a detailed explanation, just a few lights or resources to find a way to start. Thanks.
Depends on what technology you're using. Basic payments work a bit like this
-> You send them to paypal with a plan (you define the plan on paypal)
they know which amount to charge
you can pass custom parameters which they will pass back
Customer fills in application
<- paypal tells you that your predefined plan got purchased
in this same request, they send a lot of info about the payment including a GUID and your params
-> you ask paypal "hey, some one just told me this plan GUID got purchased, can you confirm"
<- paypal service returns 'yes'
-> you take the customer's ID from the params that you attached when you sent them to the paypal service and update them to "paid" in the database, or whatever
That's it in a nutshell...
Look at any subscription card mailer from any magazine and you can get an idea of what kind of data you will have to record. Start and end date for the subscription would be a good thing to keep, and what kind of plan the user is subscribed to. Once you have the end date, you just need to run a query to get the records of the users that have access. Something like
Select * from users where subscription_end_date is >= today
I'm sure there will be a lot of other columns that will go into your final product, but that will be up to you to decide what data you want to keep. What are the different states that a subscription can be in? Can someone be subscribed to both services at the same time?
PayPal does a decent job if you want to charge the same amount every month. However, if you anticipate your users making changes to their subscription plans (upgrades/downgrades) or needing to provide credits to their account for customer support purposes, PayPal would require that you cancel the subscription...and then have the customer re-subscribe.
[Full disclosure - I am a co-founder of Recurly.com]
Recurly handles the upgrades and downgrades, and provides automated customer emails to be sent out to your customers (on your behalf) for every event confirmation, and invoice that occurs. You also have a full account management dashboard and reporting so that you don't need to build this yourself.
Best of all, if you ever decide to leave PayPal, and move your business to a standalone payment gateway, Recurly stores all of your credit cards in a PCI compliant vault so you don't need to ask you customers to come back and re-subscribe. (PayPal will not return your customer credit card information). You simply configure your new gateway in Recurly, and payments will be processed without any interruption to your business.
Here is a blog post we wrote on the topic:
http://blog.recurly.com/2010/08/top-ten-reasons-to-use-recurly-vs-paypal-for-recurring-billing/
-Best of luck.
-Dan

Resources