unity developers apps facebook facebook-graph-api canvas unity3d facebook-unity-sdk

developers - facebook sdk unity3d



Código de error API 1383146 en Facebook Canvas API para Unity al realizar el pago (3)

Implementé pagos en mi aplicación Unity y definí los productos en formato HTML en mi servidor, y los rastreé con la herramienta de depuración de FB. Los productos son idénticos al ejemplo de pagos de Facebook, aparte de los precios y nombres, así como el enlace de la foto.

Sin embargo, cuando ejecuto FB.Canvas.Buy después de implementar la aplicación en Canvas, aparece el siguiente error:

An error occurred. Please try again later. API Error Code: 1383146 API Error Description: invalid og type. Expected og:product, got website

Este error no tiene documentación que pueda encontrar en cualquier motor de búsqueda o en la propia documentación de Facebook.

Cualquier ayuda sería apreciada, gracias.


Me encuentro con el mismo código de error 1383146 y encontré la causa raíz. Al principio, espero que la URL del producto sea mi URL actual más product.html . Por ejemplo. Mi página es https: // abc / def / y espero que FB analice la página de mi producto https: //abc/def/product.html

var productURL = window.location.href + ''product.html''; var obj = { method: ''pay'', action: ''purchaseitem'', product: productURL }; FB.ui(obj, function(data) { ... });

Pero encontré FB agregará la cadena de consulta cuando POST a la URL de la página de lona en algunos casos. La URL se convertirá en https: // abc / def /? Fb_source = search & ref = ts & fref = ts . Entonces mi código estará equivocado porque uso window.location.href . Así que actualizo el código y nunca encuentro el problema 1383146.

var productURL = window.location.protocol + "//" + window.location.host + window.location.pathname + ''product.html''; var obj = { method: ''pay'', action: ''purchaseitem'', product: productURL }; FB.ui(obj, function(data) { ... });


Descubrí que el problema era que estaba pasando la URL real del producto HTML al cuadro de diálogo de pago en lugar de la ID del objeto gráfico .

Cuando uso la ID del objeto gráfico, finalmente puedo realizar compras.


En mi caso, el raspador de Facebook no pudo llegar al servidor web que aloja los productos (solo podía ser alcanzado desde nuestra oficina, que no sabía). En ese caso, Facebook construye un objeto predeterminado de tipo sitio web y luego se queja de eso.

Puedes ver esto en acción con Facebook Sharing Debugger. Ingrese la URL de su producto y presione los botones ''Depurar'' y tal vez ''Rascar de nuevo''. Mostrará "Advertencias que se deben corregir". Solo mostrará la primera advertencia por defecto, asegúrese de mostrar todas las advertencias. Para mí, una de esas advertencias más abajo fue ''No se puede conectar al servidor''. Así que ese era el problema REAL