6

Ich habe Zahlungen in meiner Unity-App implementiert und Produkte in HTML-Form auf meinem Server definiert und mit dem Debugging-Tool von FB gecrawlt. Die Produkte sind abgesehen von Preisgestaltung und Benennung sowie dem Foto-Link identisch mit Facebooks Zahlungsbeispiel.API-Fehlercode 1383146 in Facebook Canvas-API für Unity während der Zahlung

Doch wenn ich FB.Canvas.Buy nach der Bereitstellung der App auf Leinwand laufen lasse, erhalte ich folgende Fehlermeldung:

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

Dieser Fehler hat keine Dokumentation ich scheinen kann auf jeder Suchmaschine zu finden oder auf Facebooks eigene Dokumentation.

Jede Hilfe wäre dankbar, danke.

+0

Benötigen Sie mehr Code, um zu sehen, wie Sie die Daten aktualisieren. – K3N

Antwort

1

fand ich das Problem war, ich war in den Pay-Dialog die tatsächliche URL des HTML-Produkts vorbei anstatt die Diagrammobjekt ID.

Wenn ich die Graph Objekt ID benutze, kann ich endlich Einkäufe tätigen.

1

Ich treffe den gleichen Fehlercode 1383146 und fand die Ursache. Am Anfang erwarte ich, dass die Produkt-URL meine aktuelle URL plus product.html ist. Beispielsweise. Meine Seite ist https://a.b.c/def/ und ich erwarte, FB meine Produktseite https://a.b.c/def/product.html

var productURL = window.location.href + 'product.html'; 

    var obj = { 
     method: 'pay', 
     action: 'purchaseitem', 
     product: productURL 
    }; 

    FB.ui(obj, function(data) { 
     ... 
    }); 

Aber ich FB Abfrage-String fügt gefunden zu analysieren, wenn POST auf meine Leinwand-URL in einigen Fällen. Die URL wird https://a.b.c/def/?fb_source=search&ref=ts&fref=ts. Dann wird mein Code falsch sein, weil ich window.location.href verwende. Also aktualisiere ich den Code und triff nie das 1383146 Problem.

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) { 
     ... 
    }); 
0

In meinem Fall könnte der Facebook Schaber nicht den Web-Server erreichen, die die Produkte präsentieren (es nur von unserem Büro erreicht werden konnte, die ich nicht kannte). In diesem Fall erstellt Facebook ein Standardobjekt vom Typ Website und klagt dann darüber.

Sie können dies in Aktion mit dem Facebook Sharing Debugger sehen. Geben Sie Ihre Produkt-URL ein und klicken Sie auf die Schaltflächen "Debug" und "Scrape Again". Es wird "Warnungen angezeigt, die behoben werden sollten". Es wird standardmäßig nur die erste Warnung angezeigt. Vergewissern Sie sich, dass alle Warnungen angezeigt werden. Für mich war eine dieser Warnungen weiter unten "Verbindung zum Server nicht möglich". Das war also das REALE Problem