我想通过在Node.js中运行的puppeter通过Google Docs Viewer预览文档。
URL在浏览器中运行良好:
https://docs.google.com/viewer?url=https%3A%2F%2Fdocs.npmjs.com%2Fimages%2Fnpm.svg&embedded=true
但是在puppeter中抛出错误:
@Configuration
public class WebConfig implements WebMvcConfigurer {
@Override
public void configureContentNegotiation(ContentNegotiationConfigurer configurer) {
configurer.favorPathExtension(false);
}
}
印刷事件:
控制台:无法加载资源:服务器响应状态为401()
网址:https://content.googleapis.com/drive/v2internal/about?fields=importFormats,kind&key=AIzaSyDVQw45DwoYh632gvsP5vPDqEKvb-Ywnb8
text :{“error”:{“errors”:[{“domain”:“global”,“reason”:“required”,“message”:“需要登录”, “locationType”:“标题”,“位置”:“授权”}],“代码”:401,“消息”:“需要登录”}}
控制台:'无法加载资源:服务器响应状态为403()'
网址:'https://content.googleapis.com/drive/v2internal/apps?fields=items(authorized,chromeExtensionIds,createInFolderTemplate,createUrl,icons(iconUrl,size,category),id,installed,kind,longDescription,name,objectType,openUrlTemplate,origins,primaryFileExtensions,primaryMimeTypes,productId,productUrl,rankingInfo,removable,requiresAuthorizationBeforeOpenWith,secondaryFileExtensions,secondaryMimeTypes,shortDescription,supportsCreate,supportsImport,supportsMultiOpen,supportsTeamDrives,type,useByDefault),kind&languageCode=en-US&key=AIzaSyDVQw45DwoYh632gvsP5vPDqEKvb-Ywnb8',
text :{“error”:{“errors”:[{“domain”:“global”,“reason”:“forbidden”,“message”:“Forbidden”}] ,“code”:403,“message”:“Forbidden”}},
当我比较puppeter和浏览器之间的cookie和标题时,标题“origin”,“x-origin”,“x-referrer”是相同的,但是“x-chrome-connected”和“x-client” -date“失踪了。
cookie“NID”存在。
答案 0 :(得分:0)
密切关注Google的回复:
{“errors”:[{“domain”:“global”,“reason”:“required”,“message”:“需要登录”}}}
{“errors”:[{“domain”:“global”,“reason”:“forbidden”,“message”:“禁止”}}}
似乎木偶操作者Chromium需要使用Google登录才能使用PDF查看器功能。