Argument of type '"blob"' is not assignable to parameter of type 'ResponseType' in SPFX project
还没有人认领这个 Issue。
评估
- 难度
- 3/5
- 预计耗时
- 1-2 天
- 新手友好度
- 38/100
- Issue 类型
- 缺陷
- 描述清晰度
- 基本清楚
- 活跃度
- 停滞
- 技术栈
- typescript
- 领域
- api
调研方向
Start with the responseType("blob") call in src/webparts/helloWorld/HelloWorldWebPart.ts and inspect the @microsoft/sp-http 1.18.2 types used by MSGraphClientV3. Run gulp serve to reproduce the TypeScript error; done means the blob response type is accepted and the sample builds successfully.
由索引模型根据 Issue 内容生成。
描述
Bug Report
Hello, I've created a new web part in my SPFX project and my SPFX package version was upgraded from 1.17 to 1.18 automatically by the creation wizard.
This seem to have brought a breaking change with existing Microsoft Graph code used in the project.
Prerequisites
- Can you reproduce the problem?
- Are you running the latest version?
- Are you reporting to the correct repository?
- Did you perform a cursory search?
For more information, see the CONTRIBUTING guide.
Description
Here is my code:
private async _getUserProfilePicture(): Promise<HTMLImageElement | void> {
return await this.context.msGraphClientFactory.getClient('3').then(
async (graphclient: MSGraphClientV3) => {
return await graphclient
.api('/me/photo/$value')
.responseType("blob")
.get()
// eslint-disable-next-line @typescript-eslint/no-explicit-any
.then((blob: Blob): Promise<any> => {
// eslint-disable-next-line no-async-promise-executor
return new Promise(async (resolve, reject) => {
const b64 = await blobToBase64(blob);
const img = new Image();
img.src = b64;
this.properties.hasProfilePicture = true;
return resolve(img);
});
})
.catch((e) => {
// ...
});
});
And the IDE error:
Argument of type '"blob"' is not assignable to parameter of type 'ResponseType'.ts(2345)
Console Errors: [Is there any console error]
Screenshots: [If applicable, add screenshots to help explain your problem]
Steps to Reproduce
- Create a new folder and initialize a new SPFX solution:
yo @microsoft/sharepoint - Choose WebPart for the client-side component and React for template, leave everything else default
- Install the @microsoft/sp-http package for the MSGraphClientV3:
npm i @microsoft/sp-http - Modify config/serve.json with your SharePoint tenant URL
- Open up
src/webparts/helloWorld/HelloWorldWebPart.ts - Modify the
onInitmethod to look like this:
protected async onInit(): Promise<void> {
await this.context.msGraphClientFactory.getClient('3').then(
async (graphclient: MSGraphClientV3) => {
return await graphclient
.api('/me/photo/$value')
.responseType("blob")
.get()
// eslint-disable-next-line @typescript-eslint/no-explicit-any
.then((blob: Blob): Promise<any> => {
// eslint-disable-next-line no-async-promise-executor
return new Promise(async (resolve, reject) => {
return resolve(blob);
});
})
});
}
- Run the
gulp servecommand - The build will fail:
Error - [tsc] src/webparts/helloWorld/HelloWorldWebPart.ts(45,25): error TS2345: Argument of type '"blob"' is not assignable to parameter of type 'ResponseType'.
Expected behavior: [What you expected to happen]
The string "blob" to be accepted as an argument for responseType method on the GraphRequest.
Actual behavior: [What actually happened]
Cannot build because of error.
Additional Context
"@microsoft/sp-http": "^1.18.2" was installed
Usage Information
Request ID - Value of the requestId field if you are receiving a Graph API error response
SDK Version - [SDK version you are using]
- Node (Check, if using Node version of SDK)
Node Version - 18
- Browser (Check, if using Browser version of SDK)
Browser Name - [The name of Browser that you are using for SDK]
Version - [The version of the browser you are using]
- 主要语言
- TypeScript
- 星标
- 833
- 派生
- 240
- PR 合并指标
- 30 天内没有已合并 PR
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
microsoftgraph/msgraph-sdk-javascript 的其他 Issue
-
status:waiting-for-triage
难度 1/5 1 小时以内 新手友好度 62/100
-
Is anyone here? 未关闭
难度 4/5 3-5 天 新手友好度 25/100
microsoftgraph/msgraph-sdk-javascript#2005 · 1 个 reaction ·
-
status:waiting-for-triage
难度 5/5 一周以上 新手友好度 42/100
-
status:waiting-for-triage type:bug
难度 3/5 1-2 天 新手友好度 48/100
microsoftgraph/msgraph-sdk-javascript#1999 · 2 条评论 · 1 个 reaction ·
-
status:waiting-for-triage type:bug
难度 4/5 3-5 天 新手友好度 45/100
查看 microsoftgraph/msgraph-sdk-javascript 的全部 Issue
相似的 Issue
-
blocklist removal
难度 2/5 1-3 小时 新手友好度 65/100
MetaMask/eth-phishing-detect#296544 ·
-
难度 2/5 1-3 小时 新手友好度 70/100
pastelsky/bundlephobia#1122 ·
-
难度 2/5 1-3 小时 新手友好度 70/100
-
category/development priority/P2 scope/file-operations scope/testing type/enhancement
难度 2/5 1-3 小时 新手友好度 75/100
-
难度 2/5 1-3 小时 新手友好度 75/100