如何使用 php-sdk 更新对象?(参数对象是必需的)


How do i update object using php-sdk? (The parameter object is required)

$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' => ""
  )
);

我收到以下错误。

The parameter object is required

我不知道在哪里添加参数对象。

在过去的几天里,我一直面临同样的问题,最后我停止尝试使用Facebook PHP SDK发送请求,而只使用发送HTTP请求。

我正在创建一个对象而不是更新一个对象,但实现应该与您的需求没有太大区别。我遇到了同样的错误(参数对象是必需的(,下面的实现解决了这个问题。

我使用了vinelab HTTP客户端作曲家包,并构建了一个这样的请求:

$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();

正如我所说,我在实现中使用了vinelab HTTP包,你应该能够使用任何类似的包或直接在PHP中使用curl。