vez solucionador sesion prueba procesando problemas problema para otra internet instalar inicia empresa descargar configurar conexion conectarse comprueba cambios c# file-upload login windows-services onedrive

solucionador - C#inicia sesión y carga en OneDrive sin interacción del usuario



problema al conectarse a onedrive comprueba tu conexion a internet y prueba otra vez (3)

OneDrive ofrece una API para cargar archivos. Pero una de las limitaciones en sus directrices es que todas las cargas a través de la API deben ser iniciadas o aceptadas por el usuario. Por lo tanto, no puede cargar archivos en OneDrive como un proceso totalmente automático.

Una solución puede ser, como sugirió Gooly en un comentario. Copie los archivos a la carpeta local OneDrive y deje que la aplicación OneDrive se encargue de la carga.

Actualmente estoy trabajando en un servicio de Windows que verificará y actualizará los archivos de Excel y los cargará en el almacenamiento en la nube seleccionado: SharePoint o OneDrive. Todo el proceso debe ser completamente automático y sin interacción del usuario: toda la información requerida (nombre de usuario, contraseña, etc.) forma parte del archivo de configuración.

Todo va bien, excepto la parte OneDrive. No puedo encontrar una solución totalmente automática para iniciar sesión y subir a este almacenamiento en la nube. Sé de Microsoft Live SDK, pero "su compatibilidad con aplicaciones que no son WinPhone y -WinStore se reduce y, que yo sepa, siempre requiere que el usuario ingrese el nombre de usuario, la contraseña (componente webbrowser).

La segunda opción es SkyDriveClientAPI ( enlace aquí ), pero esta API ya no funciona (como se menciona en Problemas).

¿Hay alguna manera de utilizar Live SDK sin la interacción del usuario o tiene alguna otra sugerencia de una manera diferente?


Puede encontrar información sobre su API aquí . El One Drive de Microsoft realmente busca ser seguro y respetar la privacidad de los usuarios. Por eso existen tantos controles de permisos en la plataforma. Realmente enfatizan el deseo de que los archivos huérfanos o las aplicaciones que abusan del proceso automatizado / carga sin que el usuario exprese su permiso. Para aclarar directamente desde su API, sus directrices explícitas son las siguientes:

Pautas para aplicaciones que interactúan con OneDrive

Las aplicaciones que interactúan con OneDrive deben cumplir con estos principios: Cargar archivos en OneDrive solo en respuesta a una solicitud o solicitud explícita del usuario. Sus aplicaciones siempre deben garantizar que un usuario elija guardar datos nuevos en OneDrive. Las aplicaciones no deben cargar archivos en OneDrive automáticamente sin que un usuario haga una elección explícita para cargar esos archivos. Aquí hay algunos ejemplos de aplicaciones conformes:

  • Las aplicaciones que muestran un botón "Subir a OneDrive" o "Compartir en OneDrive" que un usuario debe hacer clic antes de cada carga de una foto, video, documento u otro archivo.

  • Las aplicaciones de edición de documentos que requieren que el usuario haga clic inicialmente en un botón "Subir a OneDrive", para que la aplicación pueda guardar ese documento más adelante sin más interacción del usuario.

Estos son algunos ejemplos de aplicaciones no conformes:

  • Aplicaciones que cargan automáticamente en OneDrive cualquier archivo agregado a una ubicación específica en los dispositivos de un usuario.

  • Aplicaciones que respaldan automáticamente archivos o carpetas en OneDrive.

Use OneDrive para las cosas en las que es bueno. OneDrive incluye funciones para la visualización y edición de documentos de alta calidad, y para crear y compartir hermosos álbumes de fotos. Si es posible, haz que tus aplicaciones aprovechen estas características. No socave la confianza en OneDrive. Con los años que OneDrive ha estado disponible, los usuarios han llegado a confiar en él. Preservar esa confianza es fundamental y sus aplicaciones no deben socavarlo haciendo cosas que los usuarios no esperan, especialmente con respecto a la privacidad de los datos.

Aquí hay algunos ejemplos de aplicaciones conformes:

  • Aplicaciones que cargan documentos o fotos a OneDrive con acceso exclusivo para el usuario como predeterminado.

  • Las aplicaciones que advierten a los usuarios que, cuando los usuarios envían un enlace a su contenido almacenado en OneDrive, cualquiera que reciba ese enlace puede leer los archivos asociados.

Aquí hay un ejemplo de una aplicación no conforme:

  • Una aplicación que hace que todos los archivos compartidos en OneDrive sean públicamente accesibles por defecto, sin comunicar claramente este comportamiento a los usuarios.

Ese fragmento en particular de arriba, es de aquí, que se correlaciona directamente con la API de One Drive.

Puede eludir el proceso del usuario, utilizando la carpeta compartida One Drive. Que cargará / sincronizará datos automáticamente. Sin embargo, el escollo es si usa File.Move o File.Copy sin decirle explícitamente al usuario que este archivo se almacenará en su archivo compartido para que One Drive lo cargue . Entonces podrías estar violando los términos.

También deberá preocuparse por los permisos / cuentas relacionados con el usuario para implementar ese enfoque.


Esto es parcialmente alcanzable

Como se menciona en las otras respuestas, una unidad requiere autenticación de usuario , y esto hace que la solución totalmente automática sea imposible.

Sin embargo, es posible una solución casi automática , lo que significa que se puede crear una aplicación que requiera un único inicio de sesión único (en la primera activación) y un siguiente inicio de sesión, una autorización del usuario para la aplicación en ejecución, desde ese punto la aplicación será capaz de trabajar automáticamente (carga, descarga, creación de carpetas, enlace directo a archivos cargados, etc.), esto continuará funcionando, incluso si la aplicación se apaga, y la máquina se reinicia.

La única manera de desconectar la aplicación de la conexión de un disco es cerrar la sesión de la aplicación (se puede lograr automáticamente).

Esto se puede lograr utilizando el SDK LIVE (escritorio) y siguiendo las pautas de inicio de sesión único, lo más probable es que necesite acceso a los siguientes ámbitos:

  • wl.basic
  • wl.signin
  • wl.skydrive_update
  • wl.offline_access

compruebe un centro de desarrollo de unidad:

Para lograr este comportamiento, sugiero seguir los siguientes pasos:

  • Descargue el código fuente del escritorio en vivo
  • Explore el ejemplo de ApiExplorer (ejemplo de código de Live SDK Desktop Code + ApiExplorer ): esto le mostrará cómo iniciar sesión, cerrar sesión, descargar y cargar contenido.

Después de usar el ejemplo para construir una aplicación de demostración básica:

  • mejorar su aplicación para usar capacidades de inicio de sesión único,
  • Mejore su aplicación para actualizar su token de autenticación (para que la sesión no exceda el tiempo de espera, etc.)