Bagaimana cara memperbarui objek menggunakan php-sdk? (Objek parameter diperlukan)

$response = $facebook->api(
  'me/objects/namespace:result',
  'POST',
  array(
    'app_id' => app_id,
    'type' => "namespace:result",
    'url' => "http://samples.ogp.me/370740823026684",
    'title' => "Sample Result",
    'image' => "https://fbstatic-a.akamaihd.net/images/devsite/attachment_blank.png",
    'description' => ""
  )
);

Saya mendapatkan kesalahan berikut.

The parameter object is required

Saya tidak tahu di mana harus menambahkan objek parameter.


person Mahesh    schedule 26.06.2013    source sumber
comment
Apa yang seharusnya menjadi me/objects? Tindakan khusus dibuat dengan memposting ke /{user-id}/{namespace}:{action-type-name}. Dan apa nama tipe objek Anda? Anda juga harus menggunakan parameter type, lihat developers.facebook.com/docs/ opengraph/menggunakan tindakan   -  person CBroe    schedule 26.06.2013
comment
nama objek adalah hasil. Saya ingin memperbarui objek dengan php. saya tidak memposting tindakan. Saya mendengar array harus dikodekan json. Tapi saya tidak tahu di mana harus menentukan parameter objek.   -  person Mahesh    schedule 26.06.2013
comment
@CBroe Saya menemukan ini. facebook.stackoverflow.com/questions/17153617/ --› Saya masih tidak tahu cara menggunakan parameter objek di php.   -  person Mahesh    schedule 26.06.2013
comment
Anda dapat melihat di jawaban di sana bagaimana penggunaannya ...   -  person CBroe    schedule 26.06.2013
comment
tapi bagaimana cara melakukannya di php? objek: json_encode($array).. bagaimana cara menggunakan objek itu di php?   -  person Mahesh    schedule 26.06.2013
comment
saya mencoba ini.. $object = objek: .json_encode($params_graph); di mana params_graph adalah arraynya. $facebook-›api(/me/objects/namespace:hasil,POST,$objek); memberikan kesalahan yang sama   -  person Mahesh    schedule 26.06.2013


Jawaban (1)


Saya telah menghadapi masalah yang sama selama beberapa hari terakhir, pada akhirnya saya berhenti mencoba menggunakan Facebook PHP SDK untuk mengirim permintaan dan terpaksa hanya menggunakan pengiriman Permintaan HTTP.

Saya membuat objek daripada memperbaruinya, tetapi implementasinya tidak jauh berbeda dari kebutuhan Anda. Saya mendapatkan kesalahan yang sama (Objek parameter diperlukan) dan implementasi di bawah ini menyelesaikan masalah itu.

Saya menggunakan paket komposer klien HTTP vinelab dan membuat permintaan seperti ini:

$request = [
        'url' => 'https://graph.facebook.com/me/objects/namespace:object',
        'params' => [
            'access_token' => $fbAccessToken,
            'method' => 'POST',
            'object' => json_encode([
                'fb:app_id'         => 1234567890,
                'og:url'            => 'http://samples.ogp.me/1234567890',
                'og:title'          => 'Sample Object',
                'og:image'          => 'https://fbstatic-a.akamaihd.net/images/devsite/attachment_blank.png',
                'og:description'    => 'Sample Object'
            ])
        ]
    ];

// I'm using Laravel so this bit might look different for you (check the vine lab docs if you use that specific HTTP client)
$response = HttpClient::post($request);

// raw content
$response->content();

// json
$response->json();

Seperti yang saya katakan, saya menggunakan paket HTTP vinelab dalam implementasi saya, Anda seharusnya dapat menggunakan paket serupa atau langsung menggunakan curl di PHP.

person iamthewit    schedule 18.11.2014