如何从Facebook图形响应中获取图像的URL?

时间:2015-07-22 19:48:14

标签: javascript angularjs facebook facebook-graph-api ionic-framework

我正在尝试使用Ionic / AngularJS框架为移动应用创建Facebook墙面Feed。我需要帮助才能在我的粉丝专页中检索已发布照片的直接图片链接。 JSON数据中的图片对象显示原始照片的非常小的缩略图,因此如果我使用CSS增加尺寸,则会降低质量。我使用的是链接值网址作为img ng-src,但没有显示任何内容,因为链接不是图像本身,而是链接到Facebook上的帖子。

以下是我的代码, 内部视图:

<ion-content padding="true" ng-controller="FacebookCtrl" class="has-footer">
           <label class="item item-input">
                <i class="icon ion-search placeholder-icon"></i>
                <input type="text" placeholder="Search..." ng-model="query" >
            </label>
            <ion-list ng-repeat="item in news | filter:query | limitTo:20">
           <ion-item  ng-if="item.type == 'photo'">
               <h2 >{{item.caption}}</h2>
               <p>{{item.message}}</p>
               <img ng-src="{{item.link}}"/><br>
               <i class="icon ion-android-favorite"></i> {{item.likes.data.length}} Pelqime
               <p>Publikuar me: {{item.created_time | date: 'medium' }}  </p>
           </ion-item>
           <ion-item  ng-if="item.type == 'link'">
               <h2 >{{item.name}}</h2>
               <p>{{item.message}}</p>
                    <img ng-src="{{item.picture}}"/><br>
               <i class="icon ion-android-favorite"></i> {{item.likes.data.length}} Pelqime
               <p>Publikuar me: {{item.created_time | date: 'medium' }}  </p>
           </ion-item>
           <ion-item  ng-if="item.type == 'video'">
               <h2 >{{item.name}}</h2>
               <p>{{item.message}}<br>
                    {{item.source}}
               </p>
               <video width="400" controls src="{{item.source}}">Your browser does not support HTML5 video.
               </video>

               <i class="icon ion-android-favorite"></i> {{item.likes.data.length}} Pelqime
               <p>Publikuar me: {{item.created_time | date: 'medium' }}  </p>
           </ion-item>
           </ion-list>

        </ion-content>

控制器:

.controller('FacebookCtrl',function($scope,$http){
    $http.get('https://graph.facebook.com/radioopendimi/feed?access_token=APP_ID|APP_Secret').then(function(resp){
        $scope.news = resp.data.data;
        console.log('Success: ',resp);
    }, function(err){
        console.error('Error: ',err);
    });

});

1 个答案:

答案 0 :(得分:0)

请求字段full_picture,该字段应包含Facebook可用图像的最大版本。

https://graph.facebook.com/radioopendimi/feed?fields=full_picture,[…]&access_token=…

请注意,使用fields参数时,您必须指定要获取的所有字段,否则默认情况下只会获得id