https://3speak.tv/watch?v=sagarkothari88/uvjvqavy
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 CommunitiesI recommend joining these communities on Hive & Discord.
Click on the banner to join
Click on the banner to join
Important 3Speak Links
| 3Speak.tv | 3Speak Twitter | 3Speak Hive | 3Speak Telegram | | 3Speak in Spanish | Download Android App | Download iOS App | Download Desktop App | | Join 3Speak Discord | Setup Encoder Node | Vote for 3Speak Proposal | Vote 3Speak as Witness |
Cheers
Have a good one