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-activities
yarn add mvp-activities
pnpm add mvp-activities
The 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
Search
and copy the token from theAuthorization
header from the request headers (make sure not to copy theBearer
prefix)
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.