Lorsqu'un utilisateur clique sur un lien partagé pour récupérer, il faut ensuite recliquer sur "telecharger" puis une "popup" de dropbox proposant l'inscription au service, ou pas.
Pour récupérer le fichier sans compte dropbox, il faut donc ensuite cliquer sur un lien "Non merci, je souhaite poursuivre le téléchargement →"
Comme j'aime bien aller d'un point à un autre sans avoir à zigzaguer, j'ai fait un petit convertisseur qui permet aux utilisateur de dropbox de partager un lien directe sur le forum.
Exemple avec le lien de micoute concernant les menu de la semaine : https://www.dropbox.com/s/083z43ym304b2 ... e.zip?dl=0
une fois passé à la pettie moulinette de mon soft, le lien généré devient
Code : Tout sélectionner
[url]https://www.dropbox.com/s/083z43ym304b257/Menu%20de%20la%20semaine.zip?dl=1&pv=1[/url]
Code : Tout sélectionner
; Générateur de lien directe pour partage via dropbox
; Auteur : Ar-S
; Date : 09/04/2016
; Compilé en PB 5.42 x86
Enumeration
#WIN
#AFF
#BT_MUTE
#Font_AFF
EndEnumeration
;- /////// PROCEDURES ///////
Procedure OpenWindow_Win()
If OpenWindow(#WIN, 646, 610, 373, 68, "DropBox Direct Link Generator",#PB_Window_ScreenCentered| #PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_TitleBar)
StickyWindow(#WIN,1)
StringGadget(#aff,1,1, 370,30,"Copiez le lien dropbox et cliquez sur le bouton",#PB_String3D_ReadOnly)
ButtonGadget(#BT_MUTE,1,35,370,30,"Convertir en lien direct")
; Gadget Fonts
SetGadgetFont(#AFF, LoadFont(#Font_AFF, "arial", 9, 16))
SetGadgetFont(#BT_MUTE, LoadFont(#Font_AFF, "arial", 14, 16))
; Window Backcolor
SetWindowColor(#WIN, $0)
EndIf
EndProcedure
Procedure.s Mute(URLoriginale.s)
Protected Reverse.s,compte,ID.s,Limit,Fichier.s,R.s
Global NewList U.s()
ClearList(U())
; Inversion de la chaine pour traitement plus facile
Reverse.s = ReverseString(URLoriginale)
; Vérifions si le lien est ok
If Left (URLoriginale, 26) = "https://www.dropbox.com/s/" And FindString(URLoriginale,"?dl=0") <> 0
; si oui on procède au parsing
Compte = CountString(Reverse,"/")
For i = 1 To 2
AddElement( U.s() )
R.s = StringField(Reverse,i,"/")
U() = ReverseString(R)
Debug U()
Next
SelectElement(U(),0)
Limit = FindString(U(),"?")
FICHIER.s = Mid(U(),0,Limit-1)
SelectElement(U(),1)
ID.s = U()
Retour.s = "https://www.dropbox.com/s/"+ID+"/"+Fichier+"?dl=1&pv=1"
Else
Retour.s = "erreur"
EndIf
ProcedureReturn Retour
EndProcedure
;- /////// PROGRAMME ///////
OpenWindow_Win()
;{- Event loop
Repeat
Select WaitWindowEvent(100)
Case #PB_Event_Gadget
Select EventGadget()
Case #BT_MUTE
DDLINK.s = Mute( GetClipboardText() )
If DDLINK <> "erreur"
SetClipboardText("[url]"+DDLINK+"[/url]")
SetGadgetText(#aff, "Le lien a été copié dans le presse papier avec balises")
Else
SetGadgetText(#aff, " Lien invalide")
EndIf
EndSelect
Case #PB_Event_CloseWindow
Select EventWindow()
Case #WIN
CloseWindow(#WIN)
End
EndSelect
EndSelect
ForEver