Clave API para publicar en JMP Live / PublicRecuerdo que en una reciente llamada de JMP Live hubo una explicación de que necesitábamos incluir una clave API en nuestro JSL para publicar en JMP Live / Public. ¿Alguien tiene detalles de esto? He pasado por https://community.jmp.com/t5/JMPer-Cable/10-useful-tips-for-automating-the-publishing-of-JMP-Live-reports/ba-p/87707 pero la clave API aún no se incluye en estas instrucciones.
Además, ¿hay alguna forma de dirigir la publicación a JMP Live o Public? Parece que el destino está conectado a la configuración de JSL.
Re: Clave API para publicar en JMP Live / PublicAquí está el código que uso para publicar en JMP Live que incluye el parámetro clave API. El valor dado al parámetro URL se usa para dirigir la publicación a la instancia de JMP Live adecuada.
Names Default To Here( 1 );
Include( "JMPLiveCredentials.jsl" );
JMPLive = New Namespace(
"JMPLive"
);
JMPLive:Initialize() = Function( {},
{},
JMPLive:key = Credentials:key;
JMPLive:server = Credentials:server;
);
JMPLive:Publish Report = Function( {web_report, package_id = Empty()},
publishExpr = Expr(
Publish(
Prompt( Never ),
URL( JMPLive:server ),
API key( JMPLive:key ),
Public( 0 ),
Publish Data( 1 )
)
);
If( !Is Empty( package_id ),
Insert Into( publishExpr, Expr( Replace( package_id, Prompt( Never ) ) ) )
);
Eval( Substitute( Expr( web_report << publishMessage ), Expr( publishMessage ), Name Expr( publishExpr ) ) );
);
JMPLive:Initialize();
luego haga algo similar a lo siguiente:
report = New Web Report();
report << Add Report(
Community_Graphs:Create Graph of Actions(),
Title( "JMP Community - Actions" ),
Description( "Displays the actions taken by users" )
);
// To replace a report
JMPLive:Publish Report( report, "zsa8Hypq021n" );
// To create a new report
JMPLive:Publish Report( report );
Espero que ayude.
Re: Clave API para publicar en JMP Live / PublicIgualmente hago algo como:
url = "";
user = "";
api_key = "";
title = "My Report";
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dis = dt << Run Script( "Distribution" );
biv = dt << Run Script( "Bivariate" );
webrpt = New Web Report();
webrpt << Add Reports( {dis, biv} );
url = webrpt << Publish(
URL( url ),
Username( user ),
Prompt( IfNeeded ),
Title( title ),
API Key(api_key)
);
If(url != "",
web(url);
)
Ryan tiene Prompt (Never), que es el valor predeterminado, sin embargo, uso Prompt (ifNeeded) ya que no puedo obtener mi script correctamente la primera vez. IfNeeded le solicitará su credencial utilizando la nueva autenticación para 15.1 (y superior) dado que está publicando en un JMP 15.1 (15.2) o 16 JMP Live. Tenga en cuenta que no puede publicar desde JMP 15 (15.1, 15.2) a JMP 16 (o viceversa)
La primera publicación guardará de forma segura sus tokens (usuario y url), que no es lo mismo que usuario / contraseña de forma segura. Alternativamente, puede usar JMP Live Connect para almacenar sus tokens. Además, JMP Live Connect puede guardar la api_key si no desea agregarla al comando de publicación.
Las claves API se obtienen de su perfil de usuario del servidor JMP Live. Hay una "Generar clave API". Si genera uno, generará uno nuevo. Esto significa que los viejos ya no funcionarán. Querrá guardar la clave API para uso futuro con ese servidor.
Las claves API son exclusivas para el usuario y publican la URL. Es decir, una clave de jmplivesales no funcionará en devlive15 o una clave válida para sasbeb no funcionará con Bryan.Boone@jmp.com
Re: Clave API para publicar en JMP Live / PublicGracias por esto, ¡ambos han ayudado, así que han marcado como soluciones conjuntas!
Ahora solo estoy lidiando con una extraña situación de tiempo de espera publicando en JMP Live and Public.
Re: clave API para publicar en JMP Live / PublicPublicación útil! Dos preguntas más:
1. ¿Cómo es en general el archivo de credenciales que incluye?
2. Cuando solo quiero actualizar la tabla de datos, parece que agregar la clave API no funciona como argumento. Además, no le gusta el ID del paquete que obtengo cuando busco la publicación y uso el ID devuelto. ¿Algún script de muestra para eso?
Muchas gracias