アニメーションGIFをFacebookに投稿するにはどうすればよいですか?


22

友人が、Facebookのスタートページのメッセージフィードに直接アニメーション化する画像を投稿しました。これはどのように可能ですか?これをどのように行うことができますか?

これはFacebookが使用するURLです:http : //photos-c.ak.fbcdn.net/hphotos-ak-snc3/29301_442976909814_310716489814_5773694_3162803_s.jpg

名前が変更されたGIF画像.jpgですか?おそらくない。

役立つかどうかはわかりませんが、その画像のURLを含む部分(スクリプト)は次のとおりです。

<script>big_pipe.onPageletArrive({"phase":4,"id":"pagelet_photo_bar","css":["aes1F","FPnMi"],"js":["Py8xV","1k++i","9qrJd"],"onload":["PhotoTheater.init(HTML(\"\\u003cdiv id=\\\"fbPhotoTheater\\\" class=\\\"fbPhotoTheater hidden_elem narrowerWhiteBar\\\" tabindex=\\\"0\\\" role=\\\"region\\\" aria-label=\\\"Facebook-Diashow\\\" aria-busy=\\\"true\\\">\\u003cdiv class=\\\"container\\\">\\u003cdiv class=\\\"positioner\\\">\\u003ca class=\\\"uiTooltip closeTheater\\\" href=\\\"#\\\">\\u003ci class=\\\"closeImage img sp_6lzo0r sx_bbf9a4\\\">\\u003c\\\/i>\\u003cspan class=\\\"uiTooltipWrap middle left leftmiddle\\\">\\u003cspan class=\\\"uiTooltipText uiTooltipNoWrap\\\">Schlie\\u00dfen\\u003c\\\/span>\\u003c\\\/span>\\u003c\\\/a>\\u003c\\\/div>\\u003cdiv class=\\\"stageBackdrop\\\">\\u003c\\\/div>\\u003cdiv class=\\\"stageWrapper\\\">\\u003cdiv class=\\\"stage\\\">\\u003cimg src=\\\"\\\/images\\\/loaders\\\/indicator_black.gif\\\" class=\\\"spotlight\\\" \\\/> \\u003cdiv class=\\\"fbPhotosTheaterTags tagContainer\\\" id=\\\"fbPhotoTheaterTags\\\">\\u003cdiv class=\\\"tagsWrapper\\\">\\u003c\\\/div>\\u003c\\\/div>\\u003c\\\/div>\\u003cdiv class=\\\"videoStage\\\"> \\u003c\\\/div>\\u003cdiv id=\\\"fbPhotoTheaterError\\\" class=\\\"fbPhotoTheaterError hidden_elem stageError\\\">\\u003c\\\/div>\\u003c\\\/div>\\u003cdiv class=\\\"stageActions\\\" id=\\\"fbPhotoTheaterStageActions\\\">\\u003ca class=\\\"prev\\\" href=\\\"#\\\" title=\\\"Zur\\u00fcck\\\">\\u003c\\\/a>\\u003ca class=\\\"next\\\" href=\\\"#\\\" title=\\\"Weiter\\\">\\u003c\\\/a>\\u003cdiv class=\\\"fbPhotoTheaterButtons\\\" id=\\\"fbPhotoTheaterButtons\\\">\\u003c\\\/div>\\u003c\\\/div>\\u003cdiv class=\\\"photoInfoWrapper\\\">\\u003ctable class=\\\"uiGrid fbPhotoTheaterGrid photoInfo\\\" cellspacing=\\\"0\\\" cellpadding=\\\"0\\\">\\u003ctbody>\\u003ctr>\\u003ctd class=\\\"vTop detailsCell\\\">\\u003cdiv class=\\\"detailsContainer\\\">\\u003cdiv id=\\\"fbPhotoTheaterTitle\\\">\\u003c\\\/div>\\u003cspan id=\\\"fbPhotoTheaterContributors\\\">\\u003c\\\/span> \\u003cspan class=\\\"fsm fwn fcg\\\" id=\\\"fbPhotoTheaterCount\\\">\\u003c\\\/span>\\u003chr class=\\\"mvm\\\" \\\/>\\u003cdiv id=\\\"fbPhotosTheaterActions\\\" class=\\\"fbPhotosTheaterActions\\\">\\u003c\\\/div>\\u003c\\\/div>\\u003c\\\/td>\\u003ctd class=\\\"vTop commentsCell\\\">\\u003cdiv class=\\\"commentsContainer\\\">\\u003cdiv class=\\\"fbPhotosTaglist mbm tagpile\\\" id=\\\"fbPhotosTaglist\\\">\\u003cspan class=\\\"caption fsm fwn fcg\\\">Auf diesem Foto: \\u003c\\\/span>\\u003c\\\/div>\\u003cdiv id=\\\"fbPhotoTheaterUfi\\\">\\u003cform rel=\\\"async\\\" class=\\\"commentable_item autoexpand_mode\\\" method=\\\"post\\\" action=\\\"\\\/ajax\\\/ufi\\\/modify.php\\\" onsubmit=\\\"return Event.__inlineSubmit(this,event)\\\">\\u003cinput type=\\\"hidden\\\" name=\\\"charset_test\\\" value=\\\"&euro;,&acute;,\\u20ac,\\u00b4,\\u6c34,\\u0414,\\u0404\\\" \\\/>\\u003cinput type=\\\"hidden\\\" autocomplete=\\\"off\\\" name=\\\"post_form_id\\\" value=\\\"10711e587b061f39240641dbc74019ac\\\" \\\/>\\u003cinput type=\\\"hidden\\\" name=\\\"fb_dtsg\\\" value=\\\"AQBfQgRs\\\" autocomplete=\\\"off\\\" \\\/>\\u003c\\\/form>\\u003c\\\/div>\\u003c\\\/div>\\u003c\\\/td>\\u003ctd class=\\\"vTop adsCell\\\">\\u003cdiv class=\\\"adsContainer\\\">\\u003cdiv class=\\\"clearfix\\\">\\u003cdiv id=\\\"fbPhotoTheaterEgo\\\" class=\\\"fbPhotoTheaterEgo\\\">\\u003c\\\/div>\\u003cdiv class=\\\"fbPhotoTheaterEgoSponsored fss fwn fcg\\\">Gesponsert\\u003c\\\/div>\\u003c\\\/div>\\u003c\\\/div>\\u003c\\\/td>\\u003c\\\/tr>\\u003c\\\/tbody>\\u003c\\\/table>\\u003c\\\/div>\\u003c\\\/div>\\u003c\\\/div>\"));"],"onafterload":["Bootloader.loadComponents([\"fb-photos-theater-css\"], function(){  });"],"content":{"pagelet_photo_bar":"\u003cdiv class=\"mbm fbProfilePhotoStrip\">\u003cul class=\"fbProfilePhotoBar\">\u003cli class=\"stat_elem\" id=\"thumb193067094054363\">\u003ca class=\"uiMediaThumb fbProfilePhotoThumb uiMediaThumbMedium\" href=\"http:\/\/www.facebook.com\/photo.php?fbid=193067094054363&amp;set=t.100000400858474&amp;type=1\" rel=\"theater\" ajaxify=\"http:\/\/www.facebook.com\/photo.php?fbid=193067094054363&amp;set=t.100000400858474&amp;type=1&amp;src=http\u00253A\u00252F\u00252Fa1.sphotos.ak.fbcdn.net\u00252Fhphotos-ak-snc6\u00252F179200_193067094054363_100000532222327_655777_5428850_n.jpg&amp;theater\">\u003ci style=\"background-image: url(http:\/\/photos-a.ak.fbcdn.net\/hphotos-ak-snc6\/179200_193067094054363_100000532222327_655777_5428850_s.jpg); background-position: -33px -17px;\">\u003c\/i>\u003c\/a>\u003c\/li>\u003cli class=\"stat_elem\" id=\"thumb185312914825402\">\u003ca class=\"uiMediaThumb fbProfilePhotoThumb uiMediaThumbMedium\" href=\"http:\/\/www.facebook.com\/photo.php?fbid=185312914825402&amp;set=t.100000400858474&amp;type=1\" rel=\"theater\" ajaxify=\"http:\/\/www.facebook.com\/photo.php?fbid=185312914825402&amp;set=t.100000400858474&amp;type=1&amp;src=http\u00253A\u00252F\u00252Fa8.sphotos.ak.fbcdn.net\u00252Fhphotos-ak-snc6\u00252F165369_185312914825402_100000400858474_523262_6205304_n.jpg&amp;theater\">\u003ci style=\"background-image: url(http:\/\/photos-h.ak.fbcdn.net\/hphotos-ak-snc6\/165369_185312914825402_100000400858474_523262_6205304_s.jpg); background-position: -22px -30px;\">\u003c\/i>\u003c\/a>\u003c\/li>\u003cli class=\"stat_elem\" id=\"thumb175015452521815\">\u003ca class=\"uiMediaThumb fbProfilePhotoThumb uiMediaThumbMedium\" href=\"http:\/\/www.facebook.com\/photo.php?fbid=175015452521815&amp;set=a.175015445855149.34462.100000400858474&amp;type=1\" rel=\"theater\" ajaxify=\"http:\/\/www.facebook.com\/photo.php?fbid=175015452521815&amp;set=a.175015445855149.34462.100000400858474&amp;type=1&amp;src=http\u00253A\u00252F\u00252Fa6.sphotos.ak.fbcdn.net\u00252Fhphotos-ak-snc4\u00252F156854_175015452521815_100000400858474_459703_1557976_n.jpg&amp;theater\">\u003ci style=\"background-image: url(http:\/\/photos-f.ak.fbcdn.net\/hphotos-ak-snc4\/156854_175015452521815_100000400858474_459703_1557976_s.jpg);\">\u003c\/i>\u003c\/a>\u003c\/li>\u003cli class=\"stat_elem\">\u003cdiv class=\"fbProfilePhotoThumbEmpty\">\u003c\/div>\u003c\/li>\u003cli class=\"stat_elem\">\u003cdiv class=\"fbProfilePhotoThumbEmpty\">\u003c\/div>\u003c\/li>\u003c\/ul>\u003c\/div>"}});</script> 

上記の重要な部分はここにあるようです:

style=\"background-image: url(http:\/\/photos-f.ak.fbcdn.net\/hphotos-ak-snc4\/156854_175015452521815_100000400858474_459703_1557976_s.jpg);\">

gifの名前をjpgに変更するだけでは機能しません。
ChrisF

ええ、私はそれを試しました。GIFは引き続きFacebookで正しく表示されますが、アニメーション化されません。
-bitbonk

回答:


15

2015年5月

http://mashable.com/2015/05/29/facebook-gif-support/

最初に留意することは、この機能はGIFアップロードではなくGIFリンクで機能することです。少なくとも今のところ、お気に入りのGIFをアップロードしようとしても、Facebookで使用可能で再生可能なGIFは作成されません。

[...]

Giphy、Imgur、GFYcatなどのサービスは、ウェブ全体に大きなGIFを簡単に埋め込むことを試みています。

[...]

Giphyまたはその他のGIFサービスの完全なGIF URLを使用していることを確認してください。

2012年4月 -現在のエクスプロイトはモバイルテキストアプリケーションを使用して画像を渡します

http://www.facebook.com/connect/uiserver.php?app_id=2915120374
&method=stream_publish
&redirect_uri=http://www.facebook.com
&from=SENDERID
&target_id=RECEIVERID
&action_links=[{"text":"Your Text Here",
                "href":"http://www.blank.com/"}]
&attachment={'media':[{'type':'image',
                       'src':'animationurl',
                       'href':'anyurl'}],
             'description':'LongDescription',
             'properties':{'Anything':{'text':'Anything',
                                       'href':'anyurl'}}}

本当に必要なのは、animationurlFacebookがホストする画像である必要があるのみです。

これらは以前可能であった方法です

  • ファイル名をGIFに変更する
  • 圧縮をバイパスするためにファイルサイズを約120ピクセルに変更する
  • Facebook画像ツールをバイパスするために、ヘッダーデータを変更するか、ファイルの最後にバイトを追加する(GIFデータの末尾の3Bなど)
    データ変更
  • Facebook FBML経由
  • Facebook HMTLタグでメモ

最初の動作方法は、Facebookサーバーで現在利用可能なgifのセットを、何らかの方法でユーザーにタグ付けして共有することです。現在、円を描いているものとは別に、新しいGIFが表示されることはありません。

2番目は、Facebookアプリケーションを介したFacebook APIの不正使用を利用します。開発者は、GIFをビデオ埋め込みプレビューに隠しました。

開発者アプリケーション

今、それを理解することを想定すると、あなたは禁止されます...これは、画像アップロードシステムに欠陥があり、GIFまたは画像に隠されて危険なコードが実行される可能性があるためです。Facebook Photo Teamは、GIFがもはや存在しないことを保証するようです。

ナサニエル・ロマン

Quora Image:それは短期間だけサイトにあったバグでした。 しばらく前に修正されました。

以前は古いFacebook Dev Wikiで、これの一部は今では変更されているかもしれませんが、要旨は同じままです

Facebookプラットフォームは、特別な方法でimgタグを処理します。ページを公開するとき、Facebookサーバーはすべての画像URLを要求してからこれらの画像を提供し、*。facebook.comドメインを使用してすべてのimgタグのsrc属性を書き換えます。これにより、Facebookのユーザーのプライバシーが保護され、ユーザーは画像のサービス品質をより適切に制御できます。

画像キャッシュが存在する理由はいくつかあります。

  • ユーザーのプロファイルに表示される画像の品質と均一性をある程度確保する方法が必要です(アニメーション画像、50 MB画像などはありません)
  • ユーザーのプライバシーを保護し、悪意のあるアプリケーションが閲覧ユーザーのブラウザから直接行われた画像リクエストから情報を抽出できないようにする必要があります。
  • おそらくあなたにとって最も重要なのは、画像キャッシュが開発者をこれらの画像を処理する潜在的に膨大な負荷から保護し、代わりにFacebookのリソースに負担をかけることです。

そして最後に私が他の場所で言及したように

また、TOSのどこにも記載されていませんが、

ファイルをアップロードすることにより、この写真を配布する権利があり、利用規約に違反していないことを証明します。

そのため、テストユーザーアカウントでテストするために、個人アカウントでエクスプロイト(見つかった場合)を使用することで、パットを取得できます。アカウントが終了することになると確信しています。

PSあなたがサイトを閲覧しているとき、Facebookの従業員がこの情報を見ないということは考えないでください。エクスプロイトが公開された瞬間、同じ時間内にシャットダウンされます


6

拡張子はjpegですが、それでもgifファイルです

Firefoxイメージ

あなたの質問に答えるために、これは私が見つけたものです

あなたがしなければならないことは、あなたのプロフィール写真として小さなアニメーションgif(約50 KB以下)をアップロードすることです(Facebookは、大きすぎるアニメーションgifを平坦化しますが、小さなものは検出しません)。プロフィールのアルバムに追加されます。アイコン自体はアニメーション化されません。ただし、Facebookのプロフィール写真フォルダーでアニメーションとして表示され、その写真に移動して[共有]をクリックすると、壁にアニメーションとして表示されます。

プロファイルサムネイルは、常にベースイメージから生成されます。ベースイメージが120x120未満の場合、アニメーションは最小化されたビューと最大化されたビューの両方でそのまま残ります。そのサイズを超えるものは、最小化されたギャラリーサムネイルとして収まるようにサイズを変更する必要があり、アニメーションは失われますが、フルサイズはアニメーションのままにする必要があります。


1

私は調査し、画像がアプリケーションhttp://apps.facebook.com/animated-picture/によって生成されることを発見しまし た。このアプリケーションのSWF(フラッシュ)からこのようなファイルをアニメーションGIFとして生成し、Facebookに公開できます。


残念ながら、アプリケーションは利用できなくなりました。Facebookはgifを使用するオプションを有効にする必要があります。
スカン14

0

Facebookは、アニメーションgifファイルのネイティブなアップロードをサポートするようになりました。ニュースフィードまたはタイムラインページのステータス更新ボックスで[画像のアップロード]ボタンをクリックし、アップロードするアニメーションgifファイルを選択すると、アップロードされ、Facebookが.mp4ビデオファイルに変換して再生できるようになります。通常のFacebookビデオファイルのように、特定のフレームで一時停止する機能を含みます。これは、通常のアニメーションGIFファイルを表示するときのオプションではありません。GIFはアップロード後に実際にビデオファイルに変換されていますが、GIFというオーバーレイラベルが付いています。

その動画ファイルとして、Facebookはニュースフィードで動画ファイルを自動再生します(Facebookの設定がオフになっていない場合)。30秒未満の動画がFacebookによって自動的にループされるため、アニメーションGIF(一定のループ)のように動作します。長いです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.