Picture Post zu Facebook endet an der falschen Stelle

9

Ich versuche ein Bild auf Facebook Seite mit ID = 226338660793052 zu posten, aber es endet immer in / me / Fotos. Was mache ich falsch?

%Vor%

Ich bekomme keine Fehlermeldung. Ich bekomme nichts, außer dass das Foto in meinem eigenen Album, mir / Fotos, und nicht im Album von 226338660793052 / Fotos endet.

Aber wenn ich nur eine Nachricht auf dieser Seite posten, bekomme ich einen erfolgreichen Beitrag auf der Zeitleiste der Seite:

%Vor%

Was fehlt mir hier? Ich weiß, dass dies möglich sein muss, da ich einen Browser verwenden kann, um ein Bild auf die gewünschte Seite als zufälliger Nicht-Admin-Benutzer hochzuladen. Ich kann es einfach nicht über die Graph-API tun.

UPDATE:

Ich habe einen Teil des Problems gelöst. Sie müssen das access_token der Zielseite verwenden. So bekommst du es:

%Vor%

Wenn Sie das Ergebnis erhalten, fügen Sie es der obigen Transaktion hinzu:

%Vor%

Aber das wird nicht funktionieren, weil Facebook.m diesen neuen access_token durch den Standard-user access_token ersetzt, also habe ich eine Änderung an Facebook.m um Zeile 166 vorgenommen, von:

%Vor%

zu:

%Vor%

Das hält einen Zugriffscode, den Sie als Teil der Parameter angeben, davon ab, von den Facebook.accessToken geplagt zu werden. Jetzt wird das Bild auf die Seite gepostet, die mich interessiert.

Das funktioniert jedoch, weil ich ein Administrator auf der betreffenden Seite bin. Andere Benutzer können keine Bilder posten, und die Bilder landen wieder in ihren eigenen Alben, weil der Aufruf, ein access_token für die Seite zu erhalten, null zurückgibt.

Laut Facebook-Dokumenten sollte es möglich sein, wenn die Seite uneingeschränkt ist, wie diese Seite ist, ein Bild darauf zu posten:

  

HINWEIS:

     

Für Verbindungen, die ein Zugriffs-Token benötigen, können Sie ein beliebiges gültiges verwenden   Zugriffstoken, wenn die Seite öffentlich und nicht eingeschränkt ist. Verbindungen auf   eingeschränkte Seiten erfordern ein Benutzerzugriffstoken und sind nur für Benutzer sichtbar   Benutzer, die die Einschränkungskriterien (z. B. Alter) erfüllen, die auf der Seite festgelegt sind.

Habe ich erwähnt, dass meine Seite öffentlich und nicht eingeschränkt ist?

  

Zugriffstoken für die Seite

     

So führen Sie die folgenden Vorgänge als Seite und nicht als aktuelle aus   Benutzer müssen Sie das Zugriffstoken der Seite verwenden, nicht das Benutzerzugriffstoken   wird häufig zum Lesen von Graph-API-Objekten verwendet. Dieses Zugriffs-Token kann sein   abgerufen durch Ausgabe eines HTTP GET an / USER_ID / accounts mit dem   manage_pages-Berechtigung Dies wird eine Liste von Seiten (einschließlich   Anwendungsprofile), auf die der Benutzer administrativen Zugriff hat,   zusammen mit access_tokens für diese Seiten. Alternativ können Sie eine   Seitenzugriffstoken für eine einzelne, spezifische Seite durch Ausgabe eines HTTP-GET   zu / PAGE_ID? fields = access_token mit themanage_pages-Berechtigung, wie   oben beschrieben. Das Veröffentlichen auf einer Seite erfordert auch den publish_stream   Erlaubnis, sofern nicht anders angegeben.

Wie posten Sie ein Bild auf einer öffentlichen / uneingeschränkten Seite? Ich kann es von jedem Browser aus tun, also ist es möglich, aber wie wird es mit der Graph API gemacht? Angesichts der Tatsache, dass ich ohne feed_token shenanigans in den Feed posten kann, was ist mit dem Posten eines Bildes anders?

Zusammenfassend versuche ich, ein Bild, nicht nur eine Thumbnail-URL, mit der Graph-API auf einer öffentlichen / nicht eingeschränkten Seite zu veröffentlichen.

    
mahboudz 21.02.2012, 08:08
quelle

3 Antworten

4

Mein Problem auch im Moment! Ich glaube, das Problem ist mit den Zeilen im Framework, die du umgeschrieben hast, was unmöglich geworden ist, da das Facebook SDK jetzt eine statische Bibliothek ist, die nicht bearbeitet werden kann. Wie auch immer, ich habe herausgefunden, wie man die Posts der Fotos erstellt, ohne das SDK ändern zu müssen - ich erstelle neue Tokendaten mit der Tokenkette, die ich von einer App bekomme:

%Vor%

Dann erstelle ich neue FBSession mit fb appID (und nullCacheInstance, irgendwie scheint es wichtig zu sein):

%Vor%

und dann öffne ich die neu erstellte Sitzung mit tokenData erstellt, stellen Sie diese neue Sitzung als die aktive Sitzung, und es funktioniert!

%Vor%

Dann wird die Anforderung für PageAppID / fotos mit Post-Parametern und Quellbild funktioniert, und es wird das Bild auf der Facebook-Seitenwand als von sich selbst gepostet!

%Vor%

Ich denke, das Ändern von activeSession ist ähnlich wie das Ändern der Zeilen in Facebook.m

hoffe das hilft heute jemandem

    
Gyfis 23.09.2013 21:43
quelle
0

Versuchen Sie, auf PAGE / Posts statt PAGE / photos zu posten und fügen Sie dem Post ein Bildattribut hinzu. Die Fotoverbindung ist für Fotos, die von den Seitenadministratoren erstellt wurden. Eine vollständige Liste der Attribute der Posts-Verbindung finden Sie Ссылка .

    
Connor Treacy 21.02.2012 12:11
quelle
0

Tut mir leid, wenn ich Ihre Frage falsch verstanden habe. Sie können nicht direkt an die Pinnwand schreiben. Es gibt keine Methode in der Facebook-API, um das zu erreichen. Schauen Sie sich diesen Link an.

Ссылка

und der folgende Screenshot wird von diesem Link übernommen.

    
Dinesh Raja 25.02.2012 13:55
quelle