2016-07-18 5 views
0

Facebookのアプリリンクにサムネイルを追加しようとしましたが、ドキュメントを見つけることさえできません。出来ますか? 現在のコード(PHP/Laravel)は、https:// fb.me/1234567890のように動作します。 Facebookに投稿されたときにもアプリ名を書きますが、画像やサムネイルは表示されません。私はhttp_build_queryに "image"または "thumbnail"パラメータを入れてみましたが、運がありません。Facebookにサムネイル/画像を追加できません。アプリケーションのリンク

$url = "https://graph.facebook.com/v2.6/app/app_link_hosts"; 
$ch = curl_init($url); 

# create form post data 
$metadata = "?item=" . $request->itemid; 

$deepLinkURL = "APP://" . $metadata; 

//echo $deepLinkURL; 
$androidArray = json_encode(array(array("url"   => $deepLinkURL, 
            "package" => "com.app.package", 
            "app_name"  => "APPNAME") 
          ) 
         ); 

$iosArray = json_encode(array(array("url"   => $deepLinkURL, 
            "app_store_id" => 45345345, 
            "app_name"  => "APPNAME") 
          ) 
         ); 

$webFallbackArray = json_encode(array("should_fallback" => false)); 


$formQuery = http_build_query(array("access_token" => "1234567890|XXXXXXXXXXXXXXXX", 
            "name"   => "APPNAME", 
            "android"  => $androidArray, 
            "ios"   => $iosArray, 
            "thumbnail"  => "http://i.imgur.com/upnywSR.jpg", 
            "web"   => $webFallbackArray) 
          ); 

    $path = base_path() . "/vendor/phpunit/phpunit/build/ca.pem"; 

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); 
    curl_setopt($ch, CURLOPT_CAINFO, $path); 

# options 
curl_setopt($ch, CURLOPT_POST, true); //1 
curl_setopt($ch, CURLOPT_POSTFIELDS, $formQuery); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 

# get response 

$resultStatus = curl_getinfo($ch, CURLINFO_HTTP_CODE); 
$jsonResponse = json_decode(curl_exec($ch), true); 
curl_close($ch); 



# decode response from facebook 

$appLinkId = ""; 



# get appLinkId 
foreach ($jsonResponse as $key => $val) { 

    # get status 
    if($key == "id") { 
     $appLinkId = $val; 
    } 
} 

# if response is good, need to request canonical URL from appLinkId 
$errorMessage = ""; 
$canonicalUrl = ""; 

if(!empty($appLinkId)) { 



    # create another instance of cURL to get the appLink object from facebook using the ID generated by the previous post request 
    $getAppLinkUrl = "https://graph.facebook.com/" . $appLinkId; 
    $ch2 = curl_init($getAppLinkUrl); 

    # cURL options 
    $queryString = http_build_query(array("access_token" => "206722406330430|XRV38UNZsFfRNNF1EkfikzDWkpk", 
              "fields"  => "canonical_url", 
              "pretty"  => true) 
            ); 
///////////////////// 
$path = base_path() . "/vendor/phpunit/phpunit/build/ca.pem"; 

curl_setopt($ch2, CURLOPT_SSL_VERIFYPEER, FALSE); 
    curl_setopt($ch2, CURLOPT_CAINFO, $path); 
///////////////// 


    curl_setopt($ch2, CURLOPT_URL, $getAppLinkUrl . "?" . $queryString); 
    curl_setopt($ch2, CURLOPT_RETURNTRANSFER, true); 

    # get response 
    // $urlResponseJson = curl_exec($ch2); 
     $urlJsonResponse = json_decode(curl_exec($ch2), true); 
    curl_close($ch2); 

    # decode response from facebook 


    # parse response to get canonical URL 
    foreach ($urlJsonResponse as $key => $val) { 
     # get canonical URL 
     if($key == "canonical_url") { 
      $canonicalUrl = $val; 
     } 
    } 

    # check for result 
    if(empty($canonicalUrl)) { 
     $errorMessage = "Unable to retreive URL."; 
    } 

} else { 
    $errorMessage = "Unable to publish appLink."; 
} 

# encode response back to your app 
if(empty($errorMessage)) { 
    $response = json_encode(array("result"  => "success", 
            "canonical_url" => $canonicalUrl)); 
} else { 
    $response = json_encode(array("result" => "failed", 
            "errorMessage" => $errorMessage)); 
} 
return $response; 

答えて

0

私は、Facebookアプリのリンクにサムネイルを追加しようとしましたが、それについてのドキュメントを見つけることができません。出来ますか? https://developers.facebook.com/docs/applinks/hosting-apiとして

アプリケーションは、あなたがFacebookでの共有したいコンテンツのためのウェブサイトを持っていない場合、あなたはどのあなたのパブリックウェブのURLを持っていない、

を語りますアプリリンクをサポートするために注釈を付けることができます。これらの種類のアプリでは、FacebookはあなたのためにApp LinksをホストするApp Links Hosting APIを提供しています。

共有したい公開ウェブURLがある場合は、App Linksのメタタグで注釈を付ける必要があります。og:imageを介して指定したサムネイルが表示されます。

これはオプションではない場合でも、App Linkオブジェクトの標準URLを共有するときにサムネイルを指定することができます。 [フィード]ダイアログを使用します。

関連する問題