Contact Us
Leave us a message on this form.
Or click on the button below to find out more about our contact details: our address, production, distribution in France and abroad, and our financial department.
struct PSNGui status: String, friends: Vec<Friend>, last_update: Instant,
impl PsnApp fn fetch_friends_blocking(&mut self, token: &str) // In real code, spawn this async let url = "https://m.np.playstation.net/api/friends/v1/friendList"; let resp = self.client.get(url) .bearer_auth(token) .send(); match resp Ok(r) => if let Ok(list) = r.json::<Vec<Friend>>() self.friends = list; self.error = None; else self.error = Some("Parse failed".into()); rusty psn egui windows updated
Remember: the “updated” part is an ongoing process. Join the egui Discord and PSN API reverse-engineering communities to stay ahead of breaking changes. Happy coding, and may your friends list always show green. // main
// main.rs – complete minimal example use eframe::egui; use reqwest::Client; use serde::Deserialize; #[derive(Deserialize, Debug)] struct Friend online: bool, online_id: String, avatar_url: String, Debug)] struct Friend online: bool
impl eframe::App for PSNGui fn update(&mut self, ctx: &egui::Context, _frame: &mut eframe::Frame) ui
if let Some(err) = &self.error { ui.colored_label(egui::Color32::RED, format!("Error: {}", err)); } for friend in &self.friends { if friend.online { ui.label(format!("🟢 {} is online", friend.online_id)); } } }); ctx.request_repaint_after(std::time::Duration::from_secs(60)); } }
// Using oauth2 crate with reqwest use oauth2::basic::BasicClient, AuthUrl, TokenUrl, PkceCodeVerifier; // For Windows, spawn a tiny local server on port 1337 // egui opens a webview (wry) for user login // After redirect, extract code and exchange for token
Subscribe to our mails and keep up to date with all the latest Losange news.
Leave us a message on this form.
Or click on the button below to find out more about our contact details: our address, production, distribution in France and abroad, and our financial department.
2025 les films du losange – Created on Stands – Legal notice – Privacy policy