2010-07-15 12 views
11

Ich habe viele Probleme mit dem Hochladen von Videos.Hochladen von Video auf alte Facebook REST API

Wenn ich versuche, https://api-video.facebook.com zu verwenden, ich bin ein cURL-Host nicht gefunden Fehler bekommen, wenn ich http://api-video.facebook.com verwenden erhalte ich eine Meldung https://api-video.facebook.com

zu verwenden Wenn ich versuche, https://api.facebook.com/restserver.php?method=video.upload zu verwenden Ich erhalte einen 101-Fehlercode -

<error_msg>Invalid API key</error_msg> 

aber der API-Schlüssel funktioniert für alles andere, Status, Kommentare, Likes, fql für den Benutzer?

Heres, was ich sende:

access_token=XXXX 
api_key=XXXX 
call_id=1279204007.6003 
description=Description+of+this%3F 
format=JSON 
title=Title%2C+a+title 
v=2.0 
sig=XXX 

ich in der Post auf dem FB developers forum lesen, die den Sitzungsschlüssel Aufspalten von | gibt Ihnen einen korrekten Sitzungsschlüssel? Ist das das selbe wie access_token? Ich habe versucht, dies ohne Glück zu teilen.

Alle Ideen oder sogar Arbeitscode in PHP (!) Wäre sehr willkommen! Dank

+0

Wir haben das gleiche Problem. Wenn jemand eine Antwort kennt, würde es sehr geschätzt werden! – Dwayne

+0

Ich werde ein bisschen Kopfgeld darauf legen und sehen, ob jemand eine Antwort hat! –

+0

Welcher Anwendungstyp ist in den Facebook-Einstellungen festgelegt? Verwenden Sie irgendwelche PHP-SDKs für die Facebook-App? – Bot

Antwort

2

Versuchen this Code mit dem FB-SDK

require_once 'facebook.php'; 

$appapikey = 'xxx'; 
$appsecret = 'xxx'; 
$facebook = new Facebook($appapikey, $appsecret); 

$session_key = 'xxx'; //this is the infinite session_key returned when asking for the offline_access extended permission 

    $args = array(
      'method' => 'facebook.video.upload', 
      'v' => '1.0', 
      'api_key' => $appapikey, 
      'call_id' => microtime(true), 
      'format' => 'JSON', 
      'session_key' => $session_key, 
      'title'  => 'My video title', 
      'description' => 'My video description' 
    ); 

     ksort($args); 
     $sig = ''; 
     foreach($args as $k => $v) { 
     $sig .= $k . '=' . $v; 
     } 
     $sig .= $appsecret; 
     $args['sig'] = md5($sig); 

    $args["short.wmv"] = '@E:\path\to\short.wmv'; 

    $ch = curl_init(); 
    $url = 'http://api-video.facebook.com/restserver.php?method=facebook.video.upload'; 
    curl_setopt($ch, CURLOPT_URL, $url); 
    curl_setopt($ch, CURLOPT_HEADER, false); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
    curl_setopt($ch, CURLOPT_POST, true); 
    curl_setopt($ch, CURLOPT_POSTFIELDS, $args); 

    $data = curl_exec($ch); 

    print_r($data); //returned xml here 

Ich fand auch ein bug report heute mit vorgetragen, dass Video-Uploads Angabe gearbeitet haben zu arbeiten und nicht sporatically. Es könnte sein, dass dein Code einfach in Ordnung ist und die APIs von Facebook versauen.

EDIT:

Versuchen the following, scheint es für einige Leute gearbeitet zu haben.

+0

Ja, ich habe das schon einmal versucht; Ich bekomme keine Antwort vom API-Videoserver. –

+0

@Kevin versuchen Sie mit der neuen URL, die ich gerade in meiner Antwort geschrieben habe. – Bot

+1

@Kevin und @mattbasta Versuchen Sie die Bearbeitung, die ich gerade gepostet habe. – Bot

Verwandte Themen