A simple client to interact with the Microsoft MVP activities API (not official).
The main use case is to be used to automate the management (submissions, updates, etc.) of MVP activities.
For some usage examples check the examples directory.
Install the package with one of the following commands (based on your favourite package manager):
npm install mvp-activitiesyarn add mvp-activitiespnpm add mvp-activitiesThe following example lists all your submitted activities and submits a new one:
import { MVPActivitiesClient } from "mvp-activities";
// You'll need to get a token from the MVP activities website (see below) and your MVP email
// If you don't pass these parameters the client will try to look for them in the following environment variables:
// - `MVP_API_TOKEN`
// - `MVP_API_EMAIL`
const client = new MVPActivitiesClient(token, mvpEmail);
// Needed to initialize the client (it will fetch the user profile information needed for other requests)
await client.init();
// List all activities
const activities = await client.getSubmittedActivities();
for (const activity of activities) {
console.log(`${activity.date.substring(0, 10)} - ${activity.title}`);
}
// Submit a new activity
const newActivity = {
activityTypeName: "Blog",
typeName: "Blog",
date: "2024-02-04T00:00:00.000Z",
description: "A new blog post",
privateDescription: "A new blog post",
isPrivate: false,
targetAudience: [
"Developer",
"IT Pro",
"Technical Decision Maker",
"Student",
],
tenant: "MVP",
title: "My new blog post",
url: "https://loige.co/some-blog-post",
reach: 2000,
quantity: 1,
role: "Author",
technologyFocusArea: "Web Development",
additionalTechnologyAreas: ["Developer Tools", "DevOps"],
imageUrl: "https://loige.co/og/some-blog-post.png",
};
const newActivityResult = await client.submitActivity(newActivity);
console.log(newActivityResult);- Go to your account in the MVP activities website
- Open the browser developer tools and go to the "Network" tab
- Filter requests by XHR / Ajax
- Visit the Activities/My Activities section
- Look for a request called
Searchand copy the token from theAuthorizationheader from the request headers (make sure not to copy theBearerprefix)
Everyone is very welcome to contribute to this project. You can contribute just by submitting bugs or suggesting improvements by opening an issue on GitHub.
Licensed under MIT License. © Luciano Mammino.