For Power BI embedded, you can get an token that never expires by using this sample in github.
Generate an accesstoken that never expires(not recommended).
var embedToken = PowerBIToken.CreateReportEmbedToken(this.workspaceCollection, this.workspaceId, report.Id,Convert.ToDateTime("2099-12-31"));
For Power BI Service, I think there shall be some approach though I'm not aware of any, but you could quickly get a valid token by following
- Log in Power BI Service and load some report.
- With the help of Chrome dev tool(F12), click on some network request and you'll see the token there.