Lo que estoy haciendo:¿CÓMO OBTENER datos remotos de API JSON o XML desde PHP y asignar un objeto de retorno como variable de PHP?
Estoy escribiendo un programa personalizado en PHP que extrae datos a través de la API de un servicio en línea LMS. En este momento, estoy tratando de implementar la funcionalidad de inicio de sesión único disponible.
Esta parte del programa necesita ejecutar una solicitud GET a la API cuando se hace clic en un botón (mediante js o php POST?) Y finalmente redirige el navegador de los usuarios a una URL que se proporciona en la respuesta de la API .
La API permite la elección de una respuesta XML o JSON y preferiría usar JSON pero me las arreglaré con XML si es necesario.
A partir de la documentación de la API en la que realizan solicitudes:
Todas las solicitudes que figuran en este documento debe contener un contenido de tipo (XML o JSON) en el encabezado de la solicitud y llevar el prefijo del base siguiendo Uri: https://api.example.com/v1.svc
Por ej. El URI para obtener una lista de usuarios en formato XML sería:
Content-Type: text/xml
GET https://api.example.com/v1.svc/users?apikey=MY-KEY&source=MY-APP
A continuación se muestra lo que estoy tratando de implementar:
¿Cómo obtener el LoginKey
de un usuario una vez que tenga el identificador de usuario que y Si desea iniciar sesión, debe realizar una solicitud GET a/users/{user-id}, que devolverá información sobre al usuario. Incluido en esto es un LoginKey que puede utilizar para redirigir el navegador del usuario a.
por ejemplo.
GET https://api.example.com/v1.svc/users/USER-ID?apikey=YOUR_API_KEY&source=sampleapp
Respuesta de API:
<User> <Id>abc12345678</Id> <UserName>[email protected]</UserName> <FirstName>Rich</FirstName> <LastName>Chetwynd</LastName> ..... <LoginKey>https://demo.example.com/login.aspx?loginkey=xxxzzzyyy777222</LoginKey> </User>
Los datos del objeto <LoginKey>
es la URL, que necesito volver a dirigir en última instancia, el navegador del usuario.
Soy nuevo en el trabajo con API y he intentado una tonelada de métodos que no pude conseguir antes de publicar. Si sabes cómo lograr esto, te estaría muy agradecido si compartieras tu conocimiento.
Gracias.
Gracias! El botón no es un botón de envío de formulario, así que ¿puedo cambiar para obtener y obtener los datos de obtención antes que tu código anterior? – aethergy
Por supuesto, si el ID de usuario proviene de la cadena de consulta, entonces use '$ _GET ['userid']' en lugar de '$ _POST ['userid']'. – MrCode
¡Funcionó a la perfección! De nuevo, gracias por tu ayuda. – aethergy