Hello Community Members,
This is an unofficial update from @sagarkothari88 about 3Speak.
Official updates will be provided by @threespeak 's handle.
Supporting PostingKey based user sessions
- Following APIs can be used by any DApp
- With these APIs, DApp can
- log in a user with 3Speak Platform
- Show uploaded videos of a user
- Full Source code can be found on github
- https://github.com/spknetwork/legacy-studio-frontend-poc-react/blob/master/src/App.js
Step 1 - Add Necessary dependencies
import React, { useState } from "react";
import axios from "axios";
import { wrapper } from "axios-cookiejar-support";
import { CookieJar } from "tough-cookie";
import hive from "@hiveio/hive-js";
axios.defaults.headers.post["Access-Control-Allow-Origin"] = "*";
const jar = new CookieJar();
const client = wrapper(axios.create({ jar }));
const studioEndPoint = "https://studio.3speak.tv";
Step 2 - Get Encoded JWT Access Token
- In the following
logMe()
function, you can see that, I've just logged the decrypted access-token.
async function logMe() {
try {
let response = await client.get(
`${studioEndPoint}/mobile/login?username=${username}`,
{
withCredentials: false,
headers: {
"Content-Type": "application/json",
},
}
);
console.log(`Response: ${JSON.stringify(response)}`);
const memo = response.data.memo;
console.log(`Memo - ${response.data.memo}`);
let access_token = hive.memo.decode(postingKey, memo);
access_token = access_token.replace("#", "");
console.log(`Decrypted ${access_token}\n\n`);
} catch (err) {
console.log(err);
throw err;
}
}
Step 3 - Get All Videos
async function getAllVideoStatuses(access_token) {
try {
let response = await client.get(
`${studioEndPoint}/mobile/api/my-videos`,
{
withCredentials: false,
headers: {
"Content-Type": "application/json",
"Authorization": `Bearer ${access_token}`
},
}
);
return response.data;
} catch (err) {
console.log(err);
throw err;
}
}
That's it.
- Yes. It is as simple as this.
- Get JWT Token, Decrypt it & use it to get videos of a user.
What are you waiting for?
- You can go ahead & implement it in your DApp
Important Notes
- 3Speak is also working on a complete re-write backend.
- In future, we may have different APIs
- These APIs may get deprected in near future.
Feedback / Info
- Do you want more Info? Please let me know via comment section.
- Do you have feedback to share? Please use comment section
Support Me
Please 🙏 | Support Me |
---|---|
Donate Hive Or HBD | Vote me as Hive Witness |
Other Communities
I recommend joining these communities on Hive & Discord.


Click on the banner to join



Important 3Speak Links
Cheers
Have a good one
▶️ 3Speak