-
Notifications
You must be signed in to change notification settings - Fork 194
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Documentation ThirdPartyCloudStorage #2325
Comments
Hi @usselite, thanks for reporting this; I'll look into improving the documentation around ThirdPartyCloudStorage. Could you tell me more about the scenario you're looking to implement with the ThirdPartyCloudStorage APIs? |
Hi @jekloudaMSFT, I am mostly interested in the drag and drop scenario (#1903), so we can implement our own cloud solution other than Onedrive for example. What makes it confusing, for being able to use functionalities, is it required to be enroled in the CSP program (https://developer.microsoft.com/en-us/office/cloud-storage-partner-program)? Because right now, the only information that can be found about 'third party cloud' providers, is the list here: https://techcommunity.microsoft.com/t5/microsoft-teams-blog/microsoft-teams-adds-third-party-file-integration/ba-p/80880 and it looks as these are enroled into the CSP program, but it's not clearly stated on the site that Teams is also part of the program. Thanks, |
Hey @usselite, it looks like this API is unrelated to the Cloud Storage Partner Program. I asked the dev who worked on this for more information, and this is what they said: When a user drags and drops files in the compose box, the files are stored in OneDrive. We can also enable the user to send files to other third-party storage providers. ##Prerequisites ##For Cloud Storage Providers From applicationContext they will get the value of Thread id and ReplyToId. They need to concatenate above two values to get unique id / cache id like below: Send this id along with the callback, and they will receive the files which were drageddroped in compose. Note: "commandContext":"thirdParty" This will help the Third Party App to identify that their app was opened programmatically and they have to call the Teams SDK API for the dropped files. Does this help? |
Hi @jekloudaMSFT thanks for asking the dev! The both links you provided redirect to "review.learn.microsoft.com", I don't think I can access those pages? There's no public versions: https://review.learn.microsoft.com/en-us/MicrosoftTeams/admin-settings-for-file-drag-drop-to-third-party-storage?branch=pr-en-us-14488 There does seem to be a public article about turn off teams native upload policy: https://learn.microsoft.com/en-us/microsoftteams/turn-off-teams-native-file-upload-policy?branch=pr-en-us-14488, but not sure if the articles are alike? |
My apologies, it looks like those sites are only accessible internally at the moment. I've followed up asking for public documentation and will report here when I hear back |
Thank you for your patience! The docs should be available now here: |
I was oof for some time, is there anything I can help with? |
Hi @jekloudaMSFT and @mahimaMSFT, I could use some support with how to determine the right manifest usage for this.
or more like
Thanks, |
The correct usage for the ThirdPartyCloudStorage in the manifest's composeExtensions section should follow the Microsoft Teams platform's guidelines. The context property is used within the commands array to specify where the command should be available. The first example you provided seems to be correct format, where you specify the context for each command. |
Hi @jekloudaMSFT , @mahimaMSFT, Provided with the answer from @Prasad-MSFT, we're not getting the manifest to validate. The manifest we used would be as summed above:
Would it be possible to get the manifest example from you instead and possibly small code snippets to integrate it within the code? Thanks, |
Hi @usselite - Apologies! We are checking this with engineering team. We will update this thread once we get any further info. Thanks! |
@Prasad-MSFT @mahimaMSFT any update? |
@usselite - We got below response from engineering team: This API is used for below requirement: We need 2 values:
which we need to concatenate to get unique id / cache id like below: |
Hi @Prasad-MSFT please provide a sample of the manifest file that we should use in order to trigger this. |
Attaching a sample manifest file: |
@Prasad-MSFT for my own understanding, there's no mention of |
Hi @usselite, apologies. We understand the concern. We are checking this with engineering team internally and will get back to you. |
@Prasad-MSFT any update? |
@usselite - ThirdPartyCloudStorage is beta API which is not yet documented, we will share the details steps for you to follow in order implement this functionality soon. We will also work on updating Dev Docs to include same steps for other developers to follow. |
@Wajeed-msft Do you have a timeline for this? Because there is limited documentation right now, looks like we're missing a part only at this moment. https://learn.microsoft.com/en-us/microsoftteams/admin-settings-for-file-drag-drop-to-third-party-storage#documentation-for-developers-third-party-storage-apps |
Regarding doubts on: This value will be present in the payload of application context: This will help the Third-Party App to identify that their app was opened programmatically, and they have to call the Teams SDK API for the dropped files. |
@Prasad-MSFT, thanks will take a look at it. |
Detailed steps on the implementation: User drags and drops the file in teams compose box ---> it will auto open the app When you click on submit, in network tab (dev tools) we can see we are sending a payload with some information. From above payload we will need 2 values:
We need to concatenate above two values to get unique id / cache id like below: Send this id along with the callback as defined in below code reference. |
Hi @Prasad-MSFT the 1st image is not read-able (low-res). |
Updated images. |
@Prasad-MSFT would it be possible to show us the manifest you use? |
FYI @usselite |
Hi @usselite, could you please share the Teams app name you own? |
Hi @Prasad-MSFT we haven't had the time to dive deeper into it so far. But it looks like the manifest you shared (31st july) is the same one from the 10th of july. With that manifest we we're not able to get the trigger going, so we're not entirely sure what we're doing wrong. Do we need something specific in the manifest at all? Our app name is 'Sendent', however, it's not available in the app-source due the way how our solution run by customers. |
Hi, |
Hi @mahimaMSFT what is the best way to connect with you to schedule a call? We're situated in the Amsterdam Timezone. We tried the '+' icon for a manual upload, but it didn't work unfortunately. |
@usselite , could you please send email to microsoftteamsdev@microsoft.com ? |
Hi @usselite, i hope your issue has been resolved via the scheduled call. Please feel free to close this issue by sharing the final results of the discussion. |
Hi @Prasad-MSFT the issue is still being investigated |
The issue has been solved. The problem was we'd have to use the literal app-id. This is not the ID from the manifest (or external app id). It's the id you get after your app has been uploaded to teams admin center. |
Tell us about your experience!Hi usselite! We have closed this issue in our system, but we would love to hear your feedback. To let us know how we did, simply use one of the following emoji icons: 👍 for resolved, 👎 for unresolved, or ❤️ for a great experience on this message. Please use the link for more detailed feedback. Best regards, |
Hi,
We have interest in integrating deeper within MS Teams, the ThirdPartyCloudStorage API seems applicable, however, it is kind of unclear what the requirements are in order to use it. Is this part of the Cloud Storage Partner Program? If so, or if it's not, could it be clarrified?
Referring to this:
https://github.com/OfficeDev/microsoft-teams-library-js/blob/3d3f2cc82ec1b2df5562bbad9d7a68242c8fbcf7/packages/teams-js/src/public/thirdPartyCloudStorage.ts
Thanks,
The text was updated successfully, but these errors were encountered: