5

我正在尝试在 facebook 上分享我网站上的图像。图像可以是动态的,但其他元数据将保持不变。

有没有办法可以在 OG:IMAGE 标签中获取动态数据,或者我必须使用 FB Post API 的其他选项。

4

2 回答 2

9

是和不是。Facebook 会抓取您的网站一次,并缓存它找到的元数据,除非您专门去这里并强制抓取工具再次抓取您的网站。缓存通常会过期(可能在 1-2 天后?),因此当在此缓存期之外再次请求时,Facebook 将再次抓取该网站。

您可以拥有一个动态生成的og:image元标记,但它只会被读取一次(每个缓存周期),并且只会保存该图像实例。

例如,如果用户 A 共享您的页面,并且您的页面imageA.pngog:image标签中返回,那么这就是将与您的页面元数据相关联的图像。

如果用户 B在相同的缓存期内共享相同的页面,Facebook 将放弃元数据抓取并假设这仍然是有效的。imageA.pngog:image

于 2013-04-05T13:15:24.977 回答
0

看看这个要点

每次更新 og:image 标签时,您都应该 ping facebook 以重新抓取您的页面。

def share_facebook_fanpage(link,msg,PAGE_ID,OAUTH_ACCESS_TOKEN,apiversion='v2.8'):
    BASE_URL = "https://graph.facebook.com/%s" % apiversion
    POST_URL = "%s/%s/feed" % (BASE_URL, PAGE_ID)

    # force facebook scape the link first to avoid not showing thumb
    f = requests.post(BASE_URL, data={
        'id': link,
        'scrape': True,
        'access_token': OAUTH_ACCESS_TOKEN
    })

    # share the link
    r = requests.post(POST_URL, data={'access_token': OAUTH_ACCESS_TOKEN, 'link': link, 'message':msg})
于 2017-06-03T15:28:30.283 回答