当我尝试使用下面给出的代码在 Shopify android 中通过 id 获取产品详细信息时
ID id = new ID(productId);
Storefront.QueryRootQuery query = Storefront.query(rootQueryBuilder ->
rootQueryBuilder
.node(id, nodeQuery ->
nodeQuery
.onProduct(productQuery ->
productQuery
.title()
.description()
)
)
);
QueryGraphCall call = App.graphClient().queryGraph(query);
call.enqueue(new GraphCall.Callback<Storefront.QueryRoot>() {
@Override
public void onResponse(@NonNull GraphResponse<Storefront.QueryRoot> response) {
}
@Override
public void onFailure(@NonNull GraphError error) {
}
});
}
但是我收到一个错误,例如字段“节点”上的参数“id”具有无效值。预期类型“ID!” .
我也尝试了另一个代码,但得到了同样的错误
Storefront.ProductQueryDefinition query = q -> q
.title()
.descriptionHtml()
.tags()
.images(args -> args.first(250), imageConnection -> imageConnection
.edges(imageEdge -> imageEdge
.node(Storefront.ImageQuery::src)
)
)
.options(option -> option
.name()
.values()
)
.variants(args -> args.first(250), variantConnection -> variantConnection
.edges(variantEdge -> variantEdge
.node(variant -> variant
.title()
.availableForSale()
.selectedOptions(selectedOption -> selectedOption
.name()
.value()
)
.price()
)
)
);
GraphCall<Storefront.QueryRoot> call = App.graphClient().queryGraph(Storefront.query(
root -> root
.node(new ID(productId), node -> node
.onProduct(query)
)
)
);
提前致谢。